<<C++ Primer>> 第 6 章 函数

术语表

第 6 章 函数

二义性调用(ambiguous call): 是一种编译时发生的错误,造成二义性调用的原因时在函数匹配时两个或多个函数提供的匹配一样好,编译器找不到唯一的最佳匹配。
??
实参(argument): 函数调用时提供的值,用于初始化函数的形参。
??
Assert: 是一个预处理宏,作用于一条表示条件的表达式。当未定义预处理遍历NDEBUG时,assert对条件求值。如果条件为假,输出一条错误信息并终止当前程序的执行。
??
自动对象(automatic object): 仅存在于函数执行过程中的对象。当程序的控制流经过此类对象的定义语句时,创建该对象;当到达了定义所在的块的末尾时,销毁该对象。
??
最佳匹配(best match): 从一组重载函数中为调用选出的一个函数。如果存在最佳匹配,则选出的函数与其他所有可行函数相比,至少在一个实参上时更优的匹配,同时在其他实参的匹配上不会更差。
??
传引用调用(call by reference): 参见引用传递。
??
传值调用(call by value): 参见值传递。
??
候选函数(candidate function): 解析某次函数调用时考虑的一组函数。候选函数的名字应该与函数调用使用的名字一致,并且在调用点候选函数的声明在作用域之内。
??
constexpr: 可以返回常量表达式的函数,一个constexpr函数被隐式地声明成内联函数。
??
默认实参(defalut argument): 当调用缺少了某个实参时,为该实参指定地默认值。
??
可执行文件(executable file): 是操作系统能够执行的文件,包含着与程序有关的代码。
??
函数(function): 可调用的计算单元。
??
函数体(function body): 是一个块,用于定义函数所执行的操作。
??
函数匹配(function matching): 编译器解析重载函数调用的过程,在此过程中,实参与每个重载函数的形参列表逐一比较。
??
函数原型(function prototype): 函数的声明,包含函数名字,返回类型和形参类型。要调用某函数,在调用点之前必须声明该函数的原型。
??
隐藏名字(hidden name): 某个作用域内声明的名字会隐藏掉外层作用域中声明的同名实体。
??
initalizer_list: 是一个标准类,表示的是一组花括号包围的类型相同的对象,对象之间以逗号隔开。
??
内联函数(inline function): 请求编译器在可能的情况下在调用点展开函数。内联函数可以避免常见的函数调用开销。
??
链接(link): 是一个编译过程,负责把若干对象文件链接起来形成可执行程序。
??
局部静态对象(local static object): 它的值在函数调用结束后仍然存在。在第一次使用局部静态对象前创建并初始化它,当程序结束时局部静态对象才会被销毁。
??
无匹配(no match): 是一种编译时发生的错误,原因时在函数匹配过程中所有函数的形参都不能与调用提供的实参匹配。
??
对象代码(object code):编译器将我们的源代码转换成对象代码格式。
??
对象文件(object file): 编译器根据给定的源代码生成保存对象的文件。一个或多个对象文件经过链接生成可执行文件。
??
对象生命周期(object lifetime): 每个对象都有相应的生命周期。块内定义的非静态对象的生命周期从它的定义开始,到定义所在的块末尾为止。程序启动后创建全局对象,程序控制流经过局部局部静态对象的定义时创建该局部静态对象;当main函数结束时销毁全局对象和局部静态对象。
??
重载确定(overload resolution): 参见函数匹配。
??
重载函数(overload function): 函数名与其他函数相同的函数。多个重载函数必须在形参数量或形参类型上有所区别。
??
形参(parameter): 在函数的形参类别中声明的局部变量。用实参初始化形参。
??
引用传递(pass by reference): 描述如何将实参床底给引用类型的形参。引用形参和其他形式的引用工作机理类似,形参被绑定到相应实参值的一个副本。
??
值传递(pass by value): 描述如何将实参传递给非引用类型的形参。非引用类型的形参实际上时相应实参值的一个副本。
??
预处理宏(perprocessor macro): 类似于内联函数的一种预处理功能。除了assert之外,现代C++程序很少再使用预处理宏了。
??
递归循环(recurision loop): 描述某个递归寒素没有终止条件,因而不断调用自身直至耗尽程序栈空间的过程。
??
递归函数(recurision function): 直接或间接调用自身的函数。
??
返回类型(return type): 是函数声明的一部分,用于指定函数返回值的类型。
??
分离式编译(separate compilation): 把一个程序分割成多个独立源文件的能力。
??
尾置返回类型(trailing return type): 在参数类别后边指定的返回类型。
??
可行函数(viable function): 是候选函数的子集。可行函数能匹配本次调用,他的形参数量于调用提供的实参数量相等,并且每个似乎从类型都能转换成相应的形参类型。
??
()运算符( ()operator): 调用运算符,用于执行某函数。括号前面是函数名或函数指针,括号内是以逗号隔开的实参列表(可能为空)。
??

原文地址:https://www.cnblogs.com/isChenJY/p/11460801.html

时间: 2024-11-09 06:29:55

<<C++ Primer>> 第 6 章 函数的相关文章

C++primer第七章 函数

本章将介绍函数的定义和声明.然后具体分析三类特殊的函数:内联(inline)函数.类成员函数和重载函数. 7.1. 函数的定义 函数由函数名以及一组操作数类型唯一地表示.函数的操作数,也即形参,在一对圆括号中声明,形参与形参之间以逗号分隔.函数执行的运算在一个称为函数体的块语句中定义.每一个函数都有一个相关联的返回类型. 函数的调用 C++ 语言使用调用操作符(即一对圆括号)实现函数的调用.正如其他操作符一样,调用操作符需要操作数并产生一个结果.调用操作符的操作数是函数名和一组(有可能是空的)由

C++ Primer学习总结 第6章 函数

第6章 函数 1.    函数最外层作用域中的局部变量不能使用与函数形参一样的名字,因为它们属于同一个作用域范围. 2.    局部静态变量的生命周期: 在整个程序的执行路径第一次经过对象定义语句时初始化,并且直到整个程序终止时才被销毁,在此期间即使对象所在函数结束执行也不会对它有影响. 3.    如果重载的函数的参数只有顶层const区别,那么是错误的: 如果有底层const区别可以算作重载. 4.    如果函数的参数要使用引用(且不会改变引用对象的值),那么应该定义成常量引用. 因为使用

《C++ Primer》 第四版 第7章 函数

<C++ Primer> 第四版 第7章 函数 思维导图笔记 超级具体.很具体,图片版,有利于复习查看 http://download.csdn.net/detail/onlyshi/9479711

《C++ Primer 4th》读书笔记 第7章-函数

原创文章,转载请注明出处:http://www.cnblogs.com/DayByDay/p/3912413.html <C++ Primer 4th>读书笔记 第7章-函数

C++ primer plus读书笔记——第8章 函数探幽

第8章 函数探幽 1. 对于内联函数,编译器将使用相应的函数代码替换函数调用,程序无需跳到一个位置执行代码,再调回来.因此,内联函数的运行速度比常规函数稍快,但代价是需要占用更多内存. 2. 要使用内联函数,需要在: 函数声明前加上关键字inline; 函数定义前加上关键字inline; 3. 程序员请求将函数作为内联函数时,编译器不一定会满足这种需求.它可能认为该函数过大或注意到函数调用了自己(内联函数不能递归). 4. 必须在声明引用变量时进行初始化 int rat = 101; int &

C++ primer plus读书笔记——第7章 函数——C++的编程模块

第7章 函数——C++的编程模块 1. 函数的返回类型不能是数组,但可以是其他任何一种类型,甚至可以是结构和对象.有趣的是,C++函数不能直接返回数组,但可以将数组作为结构或对象的组成部分来返回. 2. 在C++中括号为空意味着不指出参数.在ANSI C中,括号为空意味着不指出参数.在C++中,不指定参数列表时应该用省略号. void say_bye(…); 3.  数组名数组名解释为其第一个元素的地址有一些例外,首先,对数组名使用sizeof将得到整个数组的长度:其次,将地址运算符用于数组名时

C Primer Plus (第五版) 第九章 函数 编程练习

第九章 函数 编程练习 设计函数 min(x,y),返回两个double数值中较小的数值,同时用一个简单的驱动程序测试该函数. #include <stdio.h> double min(double x, double y); int main(void) { double a, b; printf("请输入两个数:\n"); scanf("%lf%lf", &a, &b); printf("两个数中较小的数是:%lf\n&q

C++ Primer 笔记 第二章

C++ Primer 第二章 变量和基本类型 2.1基本内置类型 有算数类型和void类型:算数类型储存空间大小依及其而定. 算数类型表: 类型 含义 最小储存空间 bool 布尔型 - char 字符型 8 wchar_t 宽字符型 16 short 短整型 16 int 整型 16 long 长整型 32 float 单精度浮点型 6位有效数字 double 双精度浮点型 10位有效数字 long double 扩展精度浮点型 10位有效数字 2.1.1整型 包括整数字符和布尔型. 字符型:

C++ Primer 笔记 第一章

C++ Primer 学习笔记 第一章 快速入门 1.1 main函数 系统通过调用main函数来执行程序,并通过main函数的返回值确定程序是否成功执行完毕.通常返回0值表明程序成功执行完毕: main函数返回值必须是int类型. 参数: main(int argc, char *argv[]) ; argc:参数个数: argv:参数(字符串形式,第一个参数是可执行文件的URL) 编译与执行 IDE(集成开发环境)将编译器与相关的构建与分析工具绑定在一起. 命令行编译与执行 调用GNU编译器