-3

首先,我想让所有人知道 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;

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

4

1 回答 1

1

指针仍归ostrstream. 释放它是错误的。

如果ostrstream::str()说所有权转移的文件可能是正确的,在这种情况下,str()将用作分配功能。

于 2012-02-14T05:48:44.693 回答