0

最近我浏览了 n3376 并在附件 D 中发现了一个有趣的部分:[depr.ios.members]。它提到不推荐使用的“旧” IO-classes strstreambuf, istrstream, ...。

就我个人而言,我没有将其中任何一个用于任何严肃的程序(我想我曾经不得不在作业中使用它们,但在那之后我留下了<sstream>)。

据我所知,这些课程是预标准的,但它们曾经是任何标准的一部分吗?如果不是,我不太明白为什么标准中甚至提到了......

4

1 回答 1

2

是的,它们一直是(自 1998 年以来)并且是标准的一部分,但它们已被弃用(自 1998 年以来一直如此)。

随之而来的自然问题是:为什么将它们添加为已弃用?我这里只能推测,但是没有办法可以管理自己的buffer,而且不能直接访问stringstream的字符串,所以这个模板是没有好的办法的。委员会肯定会对填补这一空白的新提案持开放态度(即控制缓冲区),但不赞成使用 strstream 可能是禁忌。

于 2012-08-09T19:46:45.207 回答