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

在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++  第八章!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值