查询有关ostrstream的信息

时间:2012-02-14 05:13:22

标签: c++ iostream strstream

我希望所有人都知道ostrstream已被弃用,不应该在将来使用。

但我怀疑是别的。 我的应用程序的源代码有如下代码。

ostrstream o;
o << cell.value(CI) << "-" << cell.value(LAC) << "-" << cell.value(MNC)
      << "-" << cell.value(MCC) << ends; 
char* tmp = o.str(); 
cgi = tmp;
delete [] tmp;

我感兴趣的代码行是最后一行。 在这种情况下我们是否必须删除一个指针。这对我来说看起来很尴尬。 手动没有内存分配。我以正确的方式思考?

1 个答案:

答案 0 :(得分:1)

指针仍归ostrstream所有。解除分配是错误的。

如果ostrstream::str()的文档表明所有权已转移,则可能是正确的,在这种情况下,str()将用作分配函数。