基于linux c++学习笔记3(函数)
函数调用
主调(客户)函数与被调(服务器)函数
函数调用时的参数和返回值
函数原型
函数实现和调用接口原型,作为函数接口,一般出现在头文件中。
格式:函数返回值类型 函数名称(形式参数列表)
函数实现
函数定义,使用编程语言给出函数的执行步骤
函数返回值
函数完成后带来的结果,主调函数可以使用
谓词函数
返回bool类型值的函数
表示某项任务是否完成或者某个条件是否满足
判断给定年份是否是闰年的谓词函数实现:
bool IsLeap(int year)
{
return year%4 == 0 && year%100 != 0 || year%400 == 0;
}
比较两个整数大小的函数实现,函数在执行到第一条return语句终止:
int compare(int x,int y)
{
if(x == y)
return 0;
else if(x > y)
return 1;
else
return -1;
}
函数重载
定义同名但参数不完全相同的函数
函数调用
参数传递机制:值传递与引用传递
编程思路:自顶向下逐步求精,从整体到局部
值传递机制
形式参数在函数调用时才分配存储空间,并接收实际参数值
实际参数可以为复杂的表达式,在函数调用前获得计算
形参和实参可同名,也可不同名
参数较多时,实参值逐一赋值,必须保持数目 类型 顺序的一致
值的复制过程是单向不可逆的,函数内部对形参值的修改不会反映到实参中去
函数参数一般为函数输入集的一部分,函数输出集一般使用返回值表示,只有使用特殊手段才可以将函数参数作为函数输出集的一部分
函数调用栈框架,略