《C++ Primer Plus 6th》读书笔记 - 第8章 函数探幽
生活随笔
收集整理的这篇文章主要介绍了
《C++ Primer Plus 6th》读书笔记 - 第8章 函数探幽
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
1. 摘录
默认参数指的是当函数调用中省略了实参时自动使用的一个值。
默认参数并非编程方面的重大突破,而只是提供了一种便捷的方式。使用默认参数,可以减少要定义的析构函数、方法以及方法重载的数量。
试图在同一个文件(或转换单元)中使用同一种类型的显式实例和显式具体化将出错。
2. 最佳函数匹配
完全匹配 > 提升转换 > 标准转换 > 用户定义的转换
通常有两个函数完全匹配是错误的,但有两个例外。
- const和非const之间的区别只适用于指针和引用指向的数据
- 非模板函数将优于模板函数
- 在都是模板函数的情况下,较具体的模板函数优先
3. 关键字decltype
1 template<class T1, class T2> 2 void ft(T1 x, T2 y) 3 { 4 decltype(x + y) xpy = x + y; // make xpy the same type as x + y 5 }为了判断一下语句,编译器必须遍历一个核对表
1 decltype(expression) var;STEP1. 如果expression是一个没有用括号括起的标识符,则var的类型与该标识符的类型相同,包括const等限定符。
STEP2. 如果expression是一个函数调用,则var的类型与函数的返回类型相同。 (并不实际调用函数)
STEP3. 如果expression是一个左值,则var为指向其类型的引用。
STEP4. 如果前面的条件都不满足,则var的类型与expression的类型相同。
4. C++11后置返回类型
1 template<class T1, class T2> 2 auto h(int x, float y) -> double 3 {/* function body */}
转载于:https://www.cnblogs.com/Azurewing/p/4143724.html
总结
以上是生活随笔为你收集整理的《C++ Primer Plus 6th》读书笔记 - 第8章 函数探幽的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 可伸缩搜索框 旋转实现loading
- 下一篇: MVC增加操作日志