第六章 函数

6.1 函数基础

《C++ Primer 5》笔记(6~7)

调用函数(利用实参初始化函数对应的形参,将控制权转移给被调用的函数,即主调函数的执行被暂停,被调函数开始执行)

形参和实参(尽管实参与形参存在对应关系,但实参求值的顺序是任意的)

函数的形参列表

函数返回值

6.1.1 局部对象

生命周期

局部变量

自动对象(只存在于执行期间的对象)

局部静态对象(程序第一次经过对象定义语句时初始化,程序终止时销毁)

6.1.2 函数声明

6.1.3 分离式编译

6.2 参数传递

6.2.1 传值参数

6.2.2 传引用参数(使用引用避免拷贝,如果函数无需改变引用形参的值,最好将其声明为常量引用)

6.2.3 const形参和实参

《C++ Primer 5》笔记(6~7)

6.2.4 数组形参

《C++ Primer 5》笔记(6~7)

因为数组是以指针的形式传递的,而为了避免越界的行为,需要传递一些额外的信息,管理指针形参有如下技术:

使用标记指定数组长度(要求数组本身包含一个结束标记,例如C风格字符串)

使用标准库规范(传递指向数组首元素和尾后元素的指针)

显示传递一个表示数组大小的形参

6.2.5 main:处理命令行选项

《C++ Primer 5》笔记(6~7)

6.2.6 含有可变形参的函数

为了编写可以处理不同数量实参的函数,可以考虑采用两种方法:当所有实参类型相同,可以传递一个名为initializer_ist的标准库类型;如果实参类型不同,可以编写一种特殊的函数(16.4)。

《C++ Primer 5》笔记(6~7)

6.3 返回值类型和return语句

6.3.1 无返回值函数

6.3.2 有返回值函数(不要返回局部对象的引用或指针)

6.3.3 返回数组指针

《C++ Primer 5》笔记(6~7)

《C++ Primer 5》笔记(6~7)

6.4 函数重载

6.5 特殊用途语言特性

6.5.1 默认实参

6.5.2 内联函数和constexpr函数

《C++ Primer 5》笔记(6~7)

6.5.3 调试帮助

6.6 函数匹配

6.6.1 实参类型转换

《C++ Primer 5》笔记(6~7)

6.7 函数指针

第七章 类

类的基本思想是数据抽象和封装。数据抽象是一种依赖于接口和实现分离的编程技术。封装实现了类接口和实现的分离。

7.1 定义抽象数据类型

构造函数

《C++ Primer 5》笔记(6~7)

《C++ Primer 5》笔记(6~7)

《C++ Primer 5》笔记(6~7)

委托构造函数

拷贝、赋值和析构

7.2 访问控制与封装

《C++ Primer 5》笔记(6~7)

7.2.1 友元(友元的声明仅仅指定了访问的权限,而非普通意义上的函数声明,如果需要调用友元函数,则需要再重新声明)

相关文章: