ISO/IEC14882:2003之条款14.4——类型等价

14.4 类型等价


两个template-id引用相同的类或函数,如果其模板名是相同的,它们引用相同的模板,其类型template-argument是相同的类型,其整型或枚举类型的非类型template-argument有相同的值,其指针或引用类型的非类型template-argument引用相同的外部对象或函数,并且其模板template-argument引用相同的模板。[例:

template<class E, int size> class buffer { /* ... */ };
buffer<char, 2*512> x;
buffer<char, 1024> y;

声明了x和y为相同的类型,并且

template<class T, void(*err_fct)()> class list { /* ... */ };
list<int, &error_handler1> x1;
list<int, &error_handler2> x2;
list<int, &error_handler2> x3;
list<char, &error_handler2> x4;

声明了x2和x3是相同的类型。它们的类型不同于x1和x4。

posted @ 2011-09-07 22:12  zenny_chen  Views(339)  Comments(0Edit  收藏  举报