C++ Templates Notes(start at 090305)

C++ Templates Notes(start at 090305)

·  通常而言,并不是把模板编译成一个可以处理任何类型的单一实体;而是对于实例化模板参数的每种类型,都从模板产生出一个不同的实体。
·  模板是不允许自动类型转化的;但普通函数可以进行自动类型转换。比如: 

……

inline 
int   const &  max( int   const &  a,  int   const &  b)

……

template
< typename T >
inline T 
const &  max(T  const &  a, T  const &  b)

……

int  main()  {
   ::max(
7.045.2);  //调用max<double>
   ::max('a'42.7);  //调用非模板函数
}
第二个调用中,'a' 和42.7都被转化为int.

你可能感兴趣的:(C++ Templates Notes(start at 090305))