[C++]关于临时变量

344 阅读1分钟

产生临时变量的三种情况

- 1:By value 方式传值

传值的方式传递参数,会在堆中重新分配一个临时区域,将实参的数据copy到临时区域中 引用类型传参不会产生临时变量

- 2:参数为const的类型

保护数据不被修改

- 3:类型转换

C++禁止为非常量引用产生临时对象 临时变量不能作为非const引用参数,因为一个参数如果是以非const引用传入,C++就会认为程序员会爱函数中修改这个值,被修改的引用要在函数返回后发挥作用。当把临时变量当作非const引用传进函数,由于临时变量的特殊性,程序员不能操作临时变量,而且临时变量随时可能被释放掉。

reference:blog.csdn.net/wxn70441473…