Mega Code Archive

 
Categories / C++ Tutorial / Template
 

Reference and non-reference template function

/* The following code example is taken from the book  * "C++ Templates - The Complete Guide"  * by David Vandevoorde and Nicolai M. Josuttis, Addison-Wesley, 2002  *  * (C) Copyright David Vandevoorde and Nicolai M. Josuttis 2002.  * Permission to copy, use, modify, sell and distribute this software  * is granted provided this copyright notice appears in all copies.  * This software is provided "as is" without express or implied  * warranty, and with no claim as to its suitability for any purpose.  */ #include <typeinfo> #include <iostream> template <typename T> void ref (T const& x) {     std::cout << "x in ref(T const&): "               << typeid(x).name() << '\n'; } template <typename T> void nonref (T x) {     std::cout << "x in nonref(T):     "               << typeid(x).name() << '\n'; } int main() {     ref("hello");     nonref("hello"); } x in ref(T const&): A6_c x in nonref(T): PKc