c++函数返回引用的陷阱

这几句代码貌似没有问题。实际上,在字面值字符串传入const string&的时候发生了隐式转换,生成了一个string的临时值。返回的是此临时值的引用。当代码执行到cout时,临时值已经被释放。所以name是一个未定义的值。 函数返回引用是个危险的操作。如果该引用指向函数的参数,会出现上述问题;如果指向局部变量,该引用必然是个无效的引用,因为函数返回时局部变量已经被释放;如果该引用指向堆内存的变
相关文章
相关标签/搜索