《C++ Primer Plus第6版中文版》学习笔记(第七章)

《C++ Primer Plus 第六版中文版》的学习笔记聚焦于第七章,主要讲解了C++中的函数,包括函数的分类、无返回值和有返回值的函数、返回值的类型限制、函数原型的重要性和作用,以及ANSI C与C++在函数原型上的差异。 函数分为两大类:有返回值的函数和无返回值的函数。无返回值的函数使用`void`关键字定义,例如`void abc(int a)`。这种函数不强制要求`return`语句,但可以包含它。有返回值的函数则必须包含`return`语句,并返回一个特定类型的值。返回值的类型受到限制,不能是数组,但可以是基本类型、表达式、指针、结构体或对象。 函数原型在编程中扮演着关键角色,因为它向编译器提供了关于函数接口的信息,包括函数返回值类型和参数类型。这样,编译器就可以在调用函数时进行正确的类型检查。例如,函数原型`int abc(double)`告知编译器,`abc`函数需要一个`double`类型的参数,并返回一个`int`值。在调用函数时,编译器会检查传递的参数类型是否匹配,同时确定返回值的大小和解释方式。 函数原型的语法结构包括函数的返回类型、函数名、以及参数列表(可以为空)。函数定义的函数头可以被直接复制作为函数原型。在C++中,函数原型是必需的,而在ANSI C中则是可选的,但这可能导致与早期C版本的兼容性问题。在ANSI C中,未指定参数列表的函数原型表示参数类型由函数定义决定,而在C++中,未指定参数列表通常用省略号表示,但这在实践中并不常用,除非与接受可变参数的C函数如`printf()`配合使用。 函数原型的主要功能在于提高了程序的健壮性,它确保了以下几点: 1. 编译器能够正确处理函数的返回值,确保返回类型与函数声明一致。 2. 确保在调用函数时传递了正确的参数数量。 3. 对参数类型进行检查,如果类型不匹配,编译器会尝试隐式转换(如果可能)或报错。 4. 提供了一种方式,让程序员通过占位符了解函数定义中参数的实际意义。 理解和掌握函数原型是C++编程的基础,它有助于编写更安全、更有效的代码。通过函数原型,编译器可以在编译阶段发现并修复许多潜在的错误,降低了运行时错误的风险。





























- wll24279082242016-02-20很好,写的很详细
- llsses2019-04-20很好,写的很详细!

- 粉丝: 1117
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 吴恩达机器学习公开课程作业中文版本及 Python 实现内容
- 论文针对航空发动机控制问题,提出了一种基于切换系统方法的固定时间控制器设计(含详细代码及解释)
- 电力系统电动汽车参与电量与备用市场联合风险调度:基于合约机制与多场景优化的收益最大化模型设计(含详细代码及解释)
- 这篇文章详细探讨了小电流接地系统中单相接地故障选线的新原理和技术实现,旨在解决传统选线方法在面对参数变化和高阻故障时准确率低的问题(含详细代码及解释)
- 基于C语言的码元同步程序
- 解决裂缝型储层压裂后复杂人工裂缝网络难以定量诊断的问题(含详细代码及解释)
- 机器学习基于SVM的糖尿病数据分类模型构建与分析:从数据预处理到模型评估的全流程实践(含详细代码及解释)
- ROS、工业自动化、OpenCV、3D 点云与机器学习在机械臂中的应用
- 【金属增材制造】高强铝合金电弧增材制造工艺研究及优化:从理论建模到工业应用的全面解析(含详细代码及解释)
- 【电力系统调频】基于VMD的储能辅助火电机组二次调频控制策略及容量优化配置研究(含详细代码及解释)
- 2025电赛备赛-Maixcam视觉模块
- 【自然语言处理】基于扩散模型的DiffusionSL序列标注方法:非自回归标签生成与优化usionSL(含详细代码及解释)
- Coursera 平台林轩田教授主讲的机器学习课程
- 【无刷直流电动机】基于PWM调制策略的换相转矩脉动抑制技术实现与分析:三相协同调制算法在全速域的应用(含详细代码及解释)
- 【航空市场竞争结构分析】基于进入与定价决策的计量经济学模型:Python代码实现与反事实分析(含详细代码及解释)


