小编use*_*807的帖子

你能在C++中返回一个字符串对象的局部变量吗?

我在某处发现了以下代码,我想知道它是否合法在C++中.ret变量是堆栈变量,一旦foo返回分配给ret的内存不再存在.但是string是一个类,我认为复制构造函数被调用来将ret的内容复制到var.这是真的?以下是一段有效的代码吗?

    string foo(int x)
    {
        string ret; 
        //some operation on ret

        return ret; 
    }
    string callingFunc()
   {
        string var = foo(2); 
        // some operation on var
   }
Run Code Online (Sandbox Code Playgroud)

c++ memory-leaks copy-constructor

2
推荐指数
1
解决办法
93
查看次数

标签 统计

c++ ×1

copy-constructor ×1

memory-leaks ×1