要点2:用引用传递参数时应注意的地方
在用引用传递参数时,最好把引用声明为const类型。这样做的好处是:告诉
程序不能修改这个参数。在下面的这个例子中函数f()就是传递的引用:
void f(const int & i);
int main()
{
f(2); /* OK */
}
这个程序传递一个参数2给f()。在运行时,C++创建一个值为2的int类型的临
时变量,并传递它的引用给f().这个临时变量和它的引用从f()被调用开始被创建
并存在直到函数返回。返回时,就被马上删除。注意,如果我们不在引用前加上
const限定词,则函数f()可能会更改它参数的值,更可能会使程序产生意想不到的
行为。所以,别忘了const。
这个要点也适用于用户定义的对象。你可以给临时对象也加上引用如果是
const类型:
struct A{};
void f(const A& a);
int main()
{
f(A()); // OK,传递的是一个临时A的const引用
}