摘要:
模板进阶内容,主要模板重载、参数包、模板特例化 阅读全文
摘要:
一、类型转换与模板类型参数 1、如果一个函数形参的类型使用了模板类型参数,那么它采用特殊的初始化规则。只有很有限的几种类型转换会自动地应用于这些实参。 ①、顶层const无论是在形参中还是在实参中,都会被忽略。 ②、const转换:可以将一个非const对象的引用(或指针)传递给一个const的引用 阅读全文
摘要:
一、在下列情况下,必须使用member initialization list: 1、当初始化一个reference时; 2、当初始化一个const member时; 3、当调用一个base class的constructor,而它拥有一组参数时; 4、当调用一个member class 的cons 阅读全文
摘要:
一、 1、显示的初始化操作: 会被转换成如下步骤(双阶段转化): 1 void foo_bar() 2 { 3 X x1; 4 X x2; 5 X x3; 6 7 x1.X::X(x1); 8 x2.X::X(x2); 9 x3.X::X(x3); 10 } 2、参数(形参)的初始化: 另一种方法是 阅读全文
摘要:
一、 1、当我们调用一个函数模板时,编译器用函数实参来为我们推断模板实参。 2、模板实参的作用:指定返回类型或函数的参数类型,以及在函数体内用于变量的声明或类型转换。 3、除了定义类型参数,还可以在模板中定义非类型参数,一个非类型参数表示一个值而非一个类型。 二、 1、与函数模板不同的是,编译器不能 阅读全文