0

最近、n3376 にざっと目を通して、付録 D の興味深いセクション [depr.ios.members] に出くわしました。「古い」IO-classes strstreambufistrstream、... が非推奨として言及されています。

個人的には、これらのいずれも深刻なプログラムに使用したことはありません (以前は課題で使用しなければならなかったと思いますが、その後は使用し続けました<sstream>)。

私が知っていることから、これらのクラスは標準化前のものでしたが、標準の一部になったことはありますか? そうでない場合、標準で言及されている理由がよくわかりません...

4

1 に答える 1

2

はい、それらは常に (1998 年以来) 標準の一部ですが、非推奨です (そして 1998 年以来常にそうでした)。

次の自然な質問は、なぜそれらが非推奨として追加されたのかということです。ここで推測するしかありませんが、独自のバッファーを管理できる代​​替手段はなく、stringstream の文字列に直接アクセスすることもできないため、このテンプレートは適切な代替手段がありません。委員会は、このギャップを埋める (つまり、バッファーを制御する) ための新しい提案を確実に受け入れますが、strstream を非推奨にすることはおそらく不可能です。

于 2012-08-09T19:46:45.207 に答える