函数根底
函数的前置申明
只需写出返回值类型和参数列表类型,不许写出参数名称。应为参数名称只有在函数内应用参数时才是必要的。
bool fun1(int, int &);
传址 / 值(Pass By Reference/ Value)
援用为对象的别名,两者在内存中地址雷同。 援用必须在初始化时赋值。
int a = 1;
int &ra = a;
C++ 不容许扭转援用所代表的对象
int a = 1;
int b = 2;
int &r = a;
r = b; // get value of 2 to r/a
当以 by reference 形式将对象作为函数参数传入时,对象自身并不会复制出一份——复制的是对象的地址。应用理由如下:
- 心愿间接对传入的对象批改
- 升高复制大型对象的额外负担
除非心愿在函数内更改参数值,否则倡议在传递内置类型时,不要应用传址形式。传址机制次要用于传递 class object