C++之:模板元编程(三) 默认模板参数

  • 时间:
  • 浏览:2
  • 来源:大发5分快乐8_极速5分11选5

定义最好的办法为

  3、类模板类型形参默认值和函数的默认参数一样,原应 有多个类型形参则从第另另一个形参设定了默认值完后 的所有模板形参就有设定默认值,比如

为第另一个模板类型形参T2提供int型的默认值。

  2、类模板的类型形参默认值形式为:

  1、都还能能 为类模板的类型形参提供默认值,但这样为函数模板的类型形参提供默认值。函数模板和类模板都都还能能 为模板的非类型形参提供默认值。

在类模板的内部管理定义类中的成员时template 后的形参表应省略默认的形参类型,原应 这样省略,原应 会依编译器不同有不同的避免方案(完后 的vc原应 本来报warning),我在vs2012和g++上是报错:

输出2(8右移2位),另外会报另另一个double转int会丢失信息的warning。

输出9

  4、在类模板的内部管理定义类中的成员时template 后的形参表应省略默认的形参类型。比如

可见这里编译器将这里的默认参数认为是函数模板的。

本来错误的,原应 T1给出了默认值,而T2这样设定。

[1] http://www.cnblogs.com/gw811/archive/2012/10/25/2736224.html(注:此文有多处问题报告 ,请抱着谨慎态度查看)