但如果你把一个临时变量当作非const引用参数传进来,由于临时变量的特殊性,程序员并不能操作临时变量,而且临时变量随时可能被释放掉,所以,一般说来,修改一个临时变量是毫无意义的,据此,c++编译器加入了临时变量不能作为非const引用的这个语义限制。 修改: 或则函数参数引用加上const 4、总结 c++中临时变量不能作为非c...
具体含义为:(1)不能用const类型的对象传递给非const引用形参; (2)实参类型必须与非const引用形参的类型完全一致,例如,不可以将一个float对象传给 double &类型的引用形参; (3)不能将一个右值类型的实参 传递给 非const引用形参。 建议:在不需要修改实参的值的前提下,尽量使用const 限定的引用作为形参。 C++中...
int a = 3, b = 4; f(a + b); //编译错误,把临时变量作为非const的引用参数传递了 g(a + b); //OK,把临时变量作为const&传递是允许的 } 另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属...
下面小编就为大家带来一篇c++中临时变量不能作为非const的引用参数的方法。小编觉得挺不错的现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧点赞(0) 踩踩(0) 反馈 所需:1 积分 电信网络下载 2024年10月22日全A逐笔tick数据 2024-11-05 15:44:30 积分:1 RJFireWall-masteytorch 2024-11-...
临时变量不能作为非const引用 1、看代码 2、编译结果 3、分析和解决 就拿f(a + b)来说,a+b的值会存在一个临时变量中,当把这个临时变量传给f时,由于f的声明中,参数是int&,不是常量引用,因为c++编译器的一个关于语义的限制。如果一个参数是以非const引用传入,c++编译器就有理由认为程序员会在函数中修改...
所以,临时变量不能作为非const引用参数,不是因为他是常量,而是因为c++编译器的一个关于语义的限制。如果一个参数是以非const引用传入,c++编译器就有理由认为程序员会在函数中修改这个值,并且这个被修改的引用在函数返回后要发挥作用。但如果你把一个临时变量当作非const引用参数传进来,由于临时变量的特殊性,程序员并...
所以,临时变量不能作为非const引用参数,不是因为他是常量,而是因为c++编译器的一个关于语义的限制。如果一个参数是以非const引用传入,c++编译器就有理由认为程序员会在函数中修改这个值,并且这个被修改的引用在函数返回后要发挥作用。但如果你把一个临时变量当作非const引用参数传进来,由于临时变量的特殊性,程序员并...