《C++ Primer Plus 6th》读书笔记 - 第8章 函数探幽
1. 摘录
默认参数指的是当函数调用中省略了实参时自动使用的一个值。
默认参数并非编程方面的重大突破,而只是提供了一种便捷的方式。使用默认参数,可以减少要定义的析构函数、方法以及方法重载的数量。
试图在同一个文件(或转换单元)中使用同一种类型的显式实例和显式具体化将出错。
2. 最佳函数匹配
完全匹配 > 提升转换 > 标准转换 > 用户定义的转换
通常有两个函数完全匹配是错误的,但有两个例外。
- const和非const之间的区别只适用于指针和引用指向的数据
- 非模板函数将优于模板函数
- 在都是模板函数的情况下,较具体的模板函数优先
3. 关键字decltype
template<class T1, class T2>
void ft(T1 x, T2 y)
{
decltype(x + y) xpy = x + y; // make xpy the same type as x + y
}
为了判断一下语句,编译器必须遍历一个核对表
decltype(expression) var;
STEP1. 如果expression是一个没有用括号括起的标识符,则var的类型与该标识符的类型相同,包括const等限定符。
STEP2. 如果expression是一个函数调用,则var的类型与函数的返回类型相同。 (并不实际调用函数)
STEP3. 如果expression是一个左值,则var为指向其类型的引用。
STEP4. 如果前面的条件都不满足,则var的类型与expression的类型相同。
4. C++11后置返回类型
template<class T1, class T2>
auto h(int x, float y) -> double
{/* function body */}
《C++ Primer Plus 6th》读书笔记 - 第8章 函数探幽的更多相关文章
- C++ Primer Plus 6th 读书笔记 - 第6章 分支语句和逻辑运算符
1. cin读取错误时对换行符的处理 #include <iostream> using namespace std; int main() { double d; char c; cin ...
- 《C++ Primer 4th》读书笔记 第7章-函数
原创文章,转载请注明出处:http://www.cnblogs.com/DayByDay/p/3912413.html
- C++ primer plus读书笔记——第8章 函数探幽
第8章 函数探幽 1. 对于内联函数,编译器将使用相应的函数代码替换函数调用,程序无需跳到一个位置执行代码,再调回来.因此,内联函数的运行速度比常规函数稍快,但代价是需要占用更多内存. 2. 要使用内 ...
- 《C++Primer中文版》读书笔记——第1章 开始
istream对象:cin(标准输入对象); ostream对象:cout(标准输出对象) cerr(输出错误和警告) clog(输出一般性信息) 读取数量不定的输入数据,eg , sum=; whi ...
- 《C++ Primer 4th》读书笔记 第3章-标准库类型
原创文章,转载请注明出处:http://www.cnblogs.com/DayByDay/p/3911534.html
- 《C++ Primer 4th》读书笔记 第4章-数组和指针
原创文章,转载请注明出处: http://www.cnblogs.com/DayByDay/p/3911573.html
- 《C++ Primer 4th》读书笔记 第5章-表达式
原创文章,转载请注明出处: http://www.cnblogs.com/DayByDay/p/3912114.html
- 《C++ Primer 4th》读书笔记 第6章-语句
原创文章,转载请注明出处: http://www.cnblogs.com/DayByDay/p/3912407.html
- 《C++ Primer 4th》读书笔记 第8章-标准IO库
原创文章,转载请注明出处:http://www.cnblogs.com/DayByDay/p/3936457.html
随机推荐
- Hibernate征途(二)之基础与核心
根据我司优良传统,必然要由上向下.逐级深入,所以在钻到Hibernate细节之前,先从宏观上行欣赏一下Hibernate.为什么说是欣赏?大家可以自行查阅一下Hibernate知识外的信息,创始人和H ...
- 具体解释HTML中的window对象和document对象
Window -- 代表浏览器中一个打开的窗体: 对象属性 window //窗体自身 window.self //引用本窗户window=window.self window.name //为窗体命 ...
- 【概率DP入门】
http://www.cnblogs.com/kuangbin/archive/2012/10/02/2710606.html 有关概率和期望问题的研究 摘要 在各类信息学竞赛中(尤其是ACM竞赛中) ...
- 【奇偶剪枝】【HDU1010】Tempter of the Bone
题意:输入一个n*m的迷宫,和一个T:可以在迷宫中生存的最大时间.S为起点,D为终点.并且,每个格子只能踩一次,且只能维持一秒,然后该块地板就会塌陷.所以你必须每秒走一步,且到D点时,所用时间为T. ...
- DoNet开源项目-基于Amaze UI的点餐系统
帮朋友做的点餐系统,主要是为了让顾客在餐桌上,使用微信扫描二维码,就可以直接点菜,吃完使用微信付款. 系统演示地址,账户名和密码均为:admin.(请不要删除admin用户) GitHub Clone ...
- UVA 10954 Add All
题意: 给出n个数,要将n个数相加,每次相加所得的值为当次的计算量,完成所有的求和运算后,要求总的计算量最小. 分析: 直接一个优先队列,由小到大排序,每次前两个相加就好. 代码: #include ...
- 关于UIScrollView属性跟方法的总结
iOS中UIScollView的总结 在iOS开发中可以说UIScollView是所有滑动类视图的基础,包括UITableView,UIWebView,UICollectionView等等,UIScr ...
- [string]Regular Expression Matching
Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...
- Android 更换系统字体......
Android 更换系统字体...... 原文:http://vision-apps.blogspot.hk/2012/02/android-better-way-to-apply-custom-fo ...
- Smarty3配置
下载Smarty压缩包并解压,复制其中的libs文件夹到我们的PHP工程目录下(可将其改名为smarty).同时,在工程目录下新建三个文件夹,分别取名为templates.templates_c和sm ...