使用 OSstreamString 的此代码中的潜在问题

potential issue in this code using osstreamstring

本文关键字:问题 代码 OSstreamString 使用      更新时间:2023-10-16

以下代码有问题吗?我被告知它在那里,但我找不到它...

std::string fun(int i)
{
    std::ostringstream t;
    t<<"My int is "<<i<<returnSomething();
return t.str();
}

问题中的代码很好。如果您返回指向本地对象的指针(例如,您返回了作为t.str().c_str()获得的const char*),或者如果您返回了引用,这将是一个问题。但是在您的代码中,std::ostringstream内部字符串的副本是在函数完成之前(作为 return 语句的一部分)和t被销毁之前执行的,所以这很好。