C ++ 11を使用すると、その実装で(一部の)ガベージコレクションユーティリティを実行できます。なぜ標準はこれを許可するのでしょうか?私はいつも、C ++では、使用しないものにお金を払わないという印象を受けました。私にとって、(暗黙の)GCは、このイデオロギーを損なうように感じます。さらに、スマートポインタを介してC++で明示的なガベージコレクションユーティリティを記述して使用することは難しくありません。
次に、GCは他の方法で有効なプログラムを無効にします。例には、ポインタマスキングおよび関連する低レベルのポインタ「ハック」が含まれます。
int * nums = new int[10];
nums += 2;
*nums = 777; // nothing points to the new'ed int[10] at this point
// oh no! nums could have gotten collected!!! (so lets assume it was)
*nums = 666; // crash (or memory corruption (or something else that's bad))