C++ Tutorial/template/generic typeid

Материал из C\C++ эксперт
Перейти к: навигация, поиск

Generic typeid function

<source lang="cpp">/* 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.
*/
  1. include <iostream>
  2. include <typeinfo>

// declaration of template template <typename T> void print_typeof (T const&); // implementation/definition of template template <typename T> void print_typeof (T const& x) {

   std::cout << typeid(x).name() << std::endl;

}

// using of template int main() {

   double ice = 3.0;
   print_typeof(ice);  // call function template for type double

}</source>

d