fork(1) download
  1. #include <iostream>
  2.  
  3. template<class T, std::enable_if_t<!std::is_reference<T>::value, bool> = true>
  4. using rval = T;
  5.  
  6. template<class T>
  7. void f(rval<T>&&)
  8. {
  9. std::cout << "rvalue_reference\n";
  10. }
  11.  
  12. template<class T>
  13. void f(T&)
  14. {
  15. std::cout << "lvalue_reference\n";
  16. }
  17.  
  18.  
  19. int main()
  20. {
  21. int i = 0;
  22. f(0);
  23. f(i);
  24. return 0;
  25. }
Success #stdin #stdout 0s 16064KB
stdin
Standard input is empty
stdout
rvalue_reference
lvalue_reference