fork(1) download
  1. #include <iostream>
  2.  
  3. struct MyClass {};
  4.  
  5. template <typename T>
  6. T do_something(T);
  7.  
  8. template<>
  9. MyClass do_something(MyClass) { std::cout << "value" << std::endl; }
  10.  
  11. template<>
  12. const MyClass& do_something(const MyClass&)
  13. {
  14. std::cout << "reference" << std::endl;
  15. }
  16.  
  17.  
  18.  
  19. int main() {
  20. MyClass c;
  21. do_something<MyClass>(c); // value
  22. do_something<const MyClass&>(c); // reference
  23. do_something(c); // value
  24. }
Success #stdin #stdout 0s 3140KB
stdin
Standard input is empty
stdout
value
reference
value