c++ Primer 第六章 函数
6.1 函数基础
阶乘函数
int fact(int val) {
int ret = 1;
while (val > 1)
ret *= val--;
return ret;
}
int main() {
int val = 5;
cout << fact(5) << endl;
return 0;
}
6.2 参数传递
6.2.1 传值参数
int main() {
int n = 0;
int i = n;
i = 42; // i值改变, n值不会改变
cout << n << " " << i << endl;
return 0;
}
6.2.2 传引用参数
int main() {
int n = 0;
int &r = n; // r绑定n,r为n的另一个名字
cout << "n: " << n << " " << "r: " << r << endl;
r = 42;
cout << "n: " << n << " " << "r: " << r << endl;
n = 41;
cout << "n: " << n << " " << "r: " << r << endl;
return 0;
}
引用传递与值传递比较
void test1(int i) {
i = 0;
}
void test2(int &i) {
i = 0;
}
int main() {
int i1 = 1, i2 = 1;
test1(i1);
test2(i2);
cout << "i1: " << i1 << endl; // 1 值没有改变
cout << "i2: " << i2 << endl; // 0 值改变
return 0;
}
6.3 返回类型和return语句
略
6.4 函数重载
函数名相同但参数不同

浙公网安备 33010602011771号