您的位置:首页 > 编程语言 > C语言/C++

c++学习笔记 标准参数传递

2014-11-07 19:34 211 查看
在c++中,传递一个参数时,首选按引用传递,而且是const引用。对于客户程序员来说,这样做语法与安值传递是一样的,所以不会像使用指针那样的混淆。对于函数创建者来说,传递地址比传递整个类对象更有效,如果按const引用来传递,意味着函数将不改变该地址所指的内容,从客户程序员的观点来看,效果就像按值传递一样,只是更有效。

临时变量按引用传递给一个函数时,这个函数的参数必须是const引用。
class X{};
X f(){return X();}
void g1(X&){}
void g2(const X&){}
int main()
{
g1(f());
g2(f());
}
函数f()按值返回类X的一个对象。这意味着当立即取f()的返回值并把它传递给另外一个函数时,将建立一个临时量,该临时量是const。这样,函数g1()中的调用是错误的,因为g1()不接受const引用,g2()是对的。

务必仔细读 think in c++ 第八章!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: