第三章总结
第三章总结
函数的定义和使用
(函数在使用之前要先声明,交代返回值)
(函数允许嵌套调用以及递归调用)
(1)函数参数传递:值传递和引用传递
(引用传递可以被认为是一种别名,在函数中可以直接改变形参)
(2)内联函数:是经常要使用的,而且是非常简单的函数。可以节省参数传递等开销
(3)带默认形参值的函数(必须在声明中写,而不能在定义中写,而且必须在右边)
(4)函数重载:功能相近的函数,在相同作用域以相同函数名定义。
(形参必须不同,个数不同或者类型不同,编译器不以返回值来区分)
函数的定义和使用
(函数在使用之前要先声明,交代返回值)
(函数允许嵌套调用以及递归调用)
(1)函数参数传递:值传递和引用传递
(引用传递可以被认为是一种别名,在函数中可以直接改变形参)
(2)内联函数:是经常要使用的,而且是非常简单的函数。可以节省参数传递等开销
(3)带默认形参值的函数(必须在声明中写,而不能在定义中写,而且必须在右边)
(4)函数重载:功能相近的函数,在相同作用域以相同函数名定义。
(形参必须不同,个数不同或者类型不同,编译器不以返回值来区分)
复习补充:
1.值传递:把实参的值的副本拷贝给形参
引用传递:形参是实参的别名
2.有默认值的形参必须靠右放置,在有默认值的形参右面,
不能再出现无默认值的形参
3.编译器根据实参的个数、类型而不是返回值类型来决定调用哪一个函数
4.函数模板:
template <模板参数表>
类型 函数名([形参列表]){
函数体
}
具体例子:
template <typename T>
T add(T x1, T x2) {
return x1 + x2;
}