中規模のアプリケーションをCからC++に移植します。それは例外を伴ってどこでも処理しません、そして、それは変わるべきではありません。std :: bad_allocを避けてください。 newはNULLポインタを返します。
私の(間違った!)C++の理解は、(デフォルトの)new演算子が割り当て問題の場合にNULLポインタを返すということでした。しかし、それは1993年(またはそれ以降)までしか真実ではなかった。今日では、std :: bad_alloc例外がスローされます。
すべての呼び出しでstd :: nothrowを使用してすべてを書き直すことなく、古い動作に戻ることはできますか?
この記事を読むことに興味があります:http://stackoverflow.com/questions/550451/will-new-return-null-in-any-case – Naveen
std :: nothrowを使うようにコードを修正してください。 awkといくつかの正規表現があなたの道の90%を得るでしょう。 –
+1私はそのようなことをすることに反対しているにもかかわらず、多くの人々のために実際には実際のものです(そして私はなぜ以下の理由で答えましたか)。 –