Skip to content

C++模板编程

1. C++中如果存在同名函数的普通函数,模板具体化函数,模板函数。那么调用的优先级是普通函数>模板具体化函数>模板函数。

2. 模板具体化函数和普通函数一样,是有实体的,可以头文件声明,源文件定义。而模板函数没有实体,所以不能分文件编写,只能在头文件中分别声明和定义。

3. decltype(func())括号内如果是函数,并不会调用函数,只会推导出函数的返回值类型。而auto = func(),会调用函数体。注意:函数后置返回类型在C++14之后就没什么意义了,不建议使用

4. 函数模板可以隐式的推导,也就是说在函数模板创建的时候可以不用<>指定数据类型。但是类模板不行,类模板必须用<>指定数据类型。