template<class T> void f(T); template<class T> void f(T*); template<class T> void f(const T*);
//: C05:PartialOrder.cpp // Reveals ordering of function templates. #include <iostream> using namespace std; template<class T> void f(T) { cout << "T" << endl; } template<class T> void f(T*) { cout << "T*" << endl; } template<class T> void f(const T*) { cout << "const T*" << endl; } int main() { f(0); // T int i = 0; f(&i); // T* const int j = 0; f(&j); // const T* } ///:~
Listado 6.26. C05/PartialOrder.cpp