-3

下面的代码有问题吗?听说有,但是没找到。。。

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

1 回答 1

3

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

于 2012-06-19T15:13:05.573 回答