《C++ Primer》 第07章 【函数。 06章语句(略)】
第二节:参数传递
@ 学习摘录057:数组形参性质
——1.不能复制数组
——2.使用数组名字时,数组名会自动转化为指向其第一个元素的指针。
@ 学习摘录058:数组形参在函数中声明方法
void printValues(int *) { /*… */ }
void printValues(int[]) { /* … */ }
void printValues(int[10]) { /* … */ }
——虽然不能直接传递数组,但是函数的形参可以写成数组的形式。
——虽然形参表示方式不同,但可将使用数组语法定义的形参看作指向数组元素类型的指针。
@ 学习摘录059:通过引用传递数组
——和其它类型一样,数组形参可声明为数组的引用。
——编译器检查数组实参的大小与形参的大小是否匹配。
——这个版本的printValues函数只严格地接受含有10个int型数值的数组,这限制了哪些数组可以传递。然而,由于形参是引用,在函数体中依赖数组的大小是安全的。
// ok: parameter is a reference to an array; size of array is fixed
void printValues(int (&arr)[10])
{
for (size_t i = 0; i != 10; ++i)
{
cout << arr[i] << endl;
}
@ 学习摘录060:主函数main的返回值
——允许主函数main没有返回值就可结束,如果程序控制执行到主函数main的最后一个语句都还没有返回,那么编译器会隐式地 return 0; 这是返回类型不是void的函数必须返回一个值的规则的例外情况。Good !
——主函数main返回的值视为状态指示器,返回0表示程序运行成功,其它大部分返回值则表示失败。
第八节:重载函数
@ 学习摘录061:
——重载函数定义:出现在相同作用域中的两个函数,具有相同的名字而形参表不同的函数。
@ 学习摘录057:数组形参性质
——1.不能复制数组
——2.使用数组名字时,数组名会自动转化为指向其第一个元素的指针。
@ 学习摘录058:数组形参在函数中声明方法
void printValues(int *) { /*… */ }
void printValues(int[]) { /* … */ }
void printValues(int[10]) { /* … */ }
——虽然不能直接传递数组,但是函数的形参可以写成数组的形式。
——虽然形参表示方式不同,但可将使用数组语法定义的形参看作指向数组元素类型的指针。
@ 学习摘录059:通过引用传递数组
——和其它类型一样,数组形参可声明为数组的引用。
——编译器检查数组实参的大小与形参的大小是否匹配。
——这个版本的printValues函数只严格地接受含有10个int型数值的数组,这限制了哪些数组可以传递。然而,由于形参是引用,在函数体中依赖数组的大小是安全的。
// ok: parameter is a reference to an array; size of array is fixed
void printValues(int (&arr)[10])
{
for (size_t i = 0; i != 10; ++i)
{
cout << arr[i] << endl;
}
}
第三节:return语句@ 学习摘录060:主函数main的返回值
——允许主函数main没有返回值就可结束,如果程序控制执行到主函数main的最后一个语句都还没有返回,那么编译器会隐式地 return 0; 这是返回类型不是void的函数必须返回一个值的规则的例外情况。Good !
——主函数main返回的值视为状态指示器,返回0表示程序运行成功,其它大部分返回值则表示失败。
第八节:重载函数
@ 学习摘录061:
——重载函数定义:出现在相同作用域中的两个函数,具有相同的名字而形参表不同的函数。