C++Primer 第6章笔记整理
来源:互联网 发布:电脑美工都学什么 编辑:程序博客网 时间:2024/04/27 21:44
6.函数
含有函数声明的头文件应该包含到定义函数的源文件中
形参初始化的机理与变量初始化一样
在c++语言中建议使用引用类型的形参来代替指针
如果函数无需改变引用形参的值,最好将其声明为常量引用
和其他使用数组的代码一样,以数组作为形参的函数也必须确保使用数组时不会越界
&两端的括号不能少
f(int &arr[10]) //将arr声明成了引用的数组元素
f(int (&arr)[10]) //arr是具有10个整形数组的引用
*两端的括号不能少
int *a[10]; //10个执政构成的数组
int (*a)[10]; //指向含有10个整数的数组的指针
省略符形参应该仅仅用于C和C++通用的类型。特别应该注意的是,大多数类类型的对象在传递给省略符形参时都无法正确拷贝
在含有return语句的循环后面也应该有一条return语句,如果没有的话该程序就是错误的。很多编译器都无法发现此类错误
main函数不能重载
一般来说,将函数声明置于局部作用域内不是一个明智的选择。(会覆盖掉)
在C++语言中,名字查找发生在类型检查之前
通常,应该在函数声明中指定默认实参,并将该声明放在合适的头文件中
内联说明只是向编译器发出的一个请求,编译器可以选择忽略这个请求
constexpr函数不一定返回常量表达式
如果函数含有默认实参,则我们在调用该函数时传入的实参数量可能少于它的实际使用实参数量
如果没找到可行函数,编译器将报告无匹配函数的错误
调用重载函数时应尽量避免强制类型转换。如果在实际应用中确实需要强制类型转换,则说明我们设计的形参集合不合理
内置类型的提升和转换可能在函数匹配时产生意想不到的结果
含有函数声明的头文件应该包含到定义函数的源文件中
形参初始化的机理与变量初始化一样
在c++语言中建议使用引用类型的形参来代替指针
如果函数无需改变引用形参的值,最好将其声明为常量引用
和其他使用数组的代码一样,以数组作为形参的函数也必须确保使用数组时不会越界
&两端的括号不能少
f(int &arr[10]) //将arr声明成了引用的数组元素
f(int (&arr)[10]) //arr是具有10个整形数组的引用
*两端的括号不能少
int *a[10]; //10个执政构成的数组
int (*a)[10]; //指向含有10个整数的数组的指针
省略符形参应该仅仅用于C和C++通用的类型。特别应该注意的是,大多数类类型的对象在传递给省略符形参时都无法正确拷贝
在含有return语句的循环后面也应该有一条return语句,如果没有的话该程序就是错误的。很多编译器都无法发现此类错误
main函数不能重载
一般来说,将函数声明置于局部作用域内不是一个明智的选择。(会覆盖掉)
在C++语言中,名字查找发生在类型检查之前
通常,应该在函数声明中指定默认实参,并将该声明放在合适的头文件中
内联说明只是向编译器发出的一个请求,编译器可以选择忽略这个请求
constexpr函数不一定返回常量表达式
如果函数含有默认实参,则我们在调用该函数时传入的实参数量可能少于它的实际使用实参数量
如果没找到可行函数,编译器将报告无匹配函数的错误
调用重载函数时应尽量避免强制类型转换。如果在实际应用中确实需要强制类型转换,则说明我们设计的形参集合不合理
内置类型的提升和转换可能在函数匹配时产生意想不到的结果
0 0
- C++Primer 第6章笔记整理
- C++Primer 第3章笔记整理
- C++Primer 第5章笔记整理
- C++Primer 第7章笔记整理
- C++Primer第6章学习笔记
- C++Primer 1.2章笔记整理
- C++Primer 第4章笔记整理及运算符优先级表
- C++primer第4版第1章知识点整理
- C++primer plus第4-6章笔记
- C++primer学习笔记 第7章
- 《c++primer》笔记 第1章 开始
- 《c++ primer》第6章 函数 笔记
- 【C++Primer学习笔记】第3章 标准库类型
- 【C++Primer学习笔记】第4章 数组和指针
- c++primer 4 学习笔记--第7章
- 【C++primer学习笔记】第9章 顺序容器
- 【C++primer学习笔记】第10章 关联容器
- 【C++primer学习笔记】第11章 泛型算法
- Oracle递归查询:使用prior实现树操作
- c运行库、c标准库、windows API的区别和联系
- 1031. 查验身份证(15) PAT 乙级
- 重建二叉树
- LNMP安装了哪些软件?安装目录在哪?
- C++Primer 第6章笔记整理
- css学习记录+js
- Oracle 下载安装教程
- OS X El Capitan系统关闭SIP(System Integrity Protection)
- Codeforces Round #358 (Div. 2)——C. Alyona and the Tree(树的DFS+逆向思维)
- 1047. 编程团体赛(20) PAT 乙级
- windows 10系统(64位或者32位)下使用Cisco Any Connect进行成功拨号
- Java多线程锁释放
- 触摸事件传递与响应者链条