第四章 利用函数实现指定的功能
1.内置函数(函数编译时相当于把函数体的代码直接代替使用内置函数的部分,节省调用函数的时间,提高程序效率)
inline 函数类型 函数名 (参数表){
函数体语句;
}
*内置函数声明时一定要有关键字inline
*一般用于规模很小而使用频繁的函数
*内置函数不能含有复杂的控制语句:条件语句、switch语句。
2.函数重载(一个函数名,可以实现不同功能)
*函数重载时,函数名相同,函数返回值也相同,但函数参数表一定有所不同:如参数类型,参数个数,参数类型的顺序,之后可以对相应的函数体语句进行编写
3.函数模版(实现建立一个通用函数,其函数类型和形参不具体指定,用一个虚拟的类型来代替)
Template< typename T >
通用函数定义
或者
Template< class T >
通用函数定义
*类型名可以不止一个
Template< class T1, class T2>
*适用于函数体相同,函数参数个数也相同的情况
4.有默认参数的函数
*实参与形参结合的顺序是从左向右,所以,指定默认值的参数必须放在参数表的最右端
例:float volume (float h,float r=12.5);
*注意:1要在函数调用之前讲默认值信息通知给系统;2一个函数不能既作为有默认参数的函数,又进行函数重载
5.变量的存储类别(自动auto,静态stastic,寄存器register,外部extern)
自动auto
系统默认。结束时释放
静态static
*静态局部变量在静态存储区分配存储单元
*静态局部变量是编译初期赋初始值的,只赋初值一次,在程序运行是它已经有了初始值。以后每次调用函数是不再重新赋初值而是保留上一次函数调用结束时的结果。
*静态局部变量虽然在函数结束调用之后依旧存在,但其他函数是不能引用静态局部变量(在其他函数不可见)
寄存器register
*将局部变量的值放在CPU的寄存器,提高执行效率
外部extern(单个文件和多个文件)
也叫全局变量,分配在静态存储区
*有效作用范围:从声明到文件安终了位置
*提前引用声明:在定义一个全局变量前先进行了声明,使其之后的对该变量的使用合法
***用static声明静态外部变量
(对于已知其他文本不需要使用本文件的全局变量,可以用static修饰,变成静态外部变量)
外部变量不管是否使用static修饰,存储空间都在静态存储区,static只是改变存储空间
6.内部函数&外部函数
用static和extern修饰。C++允许声明函数时省略extern
7.头文件
内容:
对类的声明、函数声明、内置函数的定义、宏定义(用#difine和const声明的常量),外部变量的声明和定义
由于用#include指令就可以把不同文件组合在一起,形成一个文件。因此说,头文件是源文件之间的接口。
个人笔记,仅供参考,欢迎指教!
未经允许,请勿转载!