我最近发现std::strstream
已被弃用,取而代之的是std::stringstream
。我已经有一段时间没有使用它了,但它做了我当时需要做的事情,所以很惊讶听到它的弃用。
我的问题是为什么做出这个决定,有什么好处std::stringstream
提供缺少的std::strstream
?
The strstream
返回了一个char *
这非常难以管理,因为没有任何地方说明它是如何分配的。因此不可能知道是否应该删除它或对其调用 free() 或完全执行其他操作。解除分配的唯一真正令人满意的方法是将其交还给strstream
通过freeze()
功能。这是非常不明显的,很多人都弄错了。这stringstream
返回一个可以自我管理的字符串对象,这样更不容易出错。
还有一个必须使用的问题ends
终止字符串,但我相信释放问题是弃用的主要原因。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)