私は自分のコードのいくつかを-std=c++0xGCC のフラグでコンパイルしているところです。すべての若い人たちがやっていることを漠然と追いかけたいので(芝生にとどまっている場合)、警告がたくさん出ましたauto_ptr廃止されることについて。もちろん、私はそれauto_ptrがC ++ 0xで廃止されることを知っていましたが...
廃止は時間と労力の無駄ではありませんか?廃止されない理由(例としてauto_ptrを使用):
まだサポートが必要な大量のコードがあり、何百万もの警告を生成しても、警告をオフにしたくなるだけです。
auto_ptr少しナッフですが、実際にはブリキに書かれていることを行います。私たちが本当に物事を非難したいなら、私は指名し
printf()ます。しかし、その後に続く悲鳴を想像してください。auto_ptrあまりにも多くの友人はいませんが、少なくとも私のC ++コードではprintf、まったく使用されていないを超えて使用されています。委員会はこれを正しく行ったという悪い記録を持っています-彼らは名前空間のスコープで静的を廃止し、今では廃止されていないようです-
auto_ptr同様のカムバックをしても私は驚かないでしょう最後に、委員会の言うことは何でも、コンパイラの実装者はそれらを無視します-彼らは単に彼らの顧客コードを壊す危険を冒すことができません、彼らができるすべては刺激的な警告を出すことです。
だから私の質問-(auto_ptrsだけでなく、C ++だけでなく)非推奨を良いアイデアと考えていますか?そうであれば、なぜですか?
unique_ptr、幸せになります。
auto_ptr、例として使用しています。