小编ska*_*kap的帖子

函数调用中的隐式析构函数执行

我想知道关于下面这段代码的标准是什么.可以string临时对象的析构函数调用之前执行printPointer

ps VS2010编译器不会抱怨此代码并且工作正常.

void printPointer(const string* pointer)
{
    cout << *pointer << endl;
}

const string* func(const string& s1)
{
    return &s1;
}

int main()
{
    printPointer(func("Hello, World!!!"));
}
Run Code Online (Sandbox Code Playgroud)

c++ destructor temporary object-lifetime language-lawyer

8
推荐指数
1
解决办法
160
查看次数