[解決済み] なぜdeleteはポインタをNULLにしないのですか?
2022-06-06 14:22:50
質問
の後に自動的にポインタがNULLに設定されるのはなぜなのか、いつも不思議に思っていました。 削除 が標準に含まれていないのか、いつも不思議に思っていました。もしこれがうまくいけば、無効なポインタによるクラッシュの多くは起きないでしょう。しかし、そうは言っても、標準がこれを制限したであろういくつかの理由を私は考えることができます。
パフォーマンスです。
追加の命令により
delete
のパフォーマンスを低下させる可能性があります。のせいでしょうか?
const
のポインタのせいかもしれません。そしてまた、標準はこの特別なケースのために何かをすることができたのだと思います。
これを許可しない正確な理由をご存知の方はいらっしゃいますか?
どのように解決するのですか?
ストロストルップ自身 に回答しています。 抜粋してみました。
C++では、明示的に 削除の実装がゼロになることを をゼロにすることができます。 実装がそうなることを期待していました。 しかし、その考えは実装者の間ではあまり浸透していないようで 実装者の間で広まっていないようです。
しかし、彼が提起する主な問題は、deleteの引数がlvalueである必要はない、ということです。
関連
-
[解決済み】文字列関数で'char const*'のインスタンスを投げた後に呼び出されるterminate [閉店].
-
[解決済み】デバッグアサーションに失敗しました。C++のベクトル添え字が範囲外
-
[解決済み】オブジェクト引数のない非静的メンバ関数の呼び出し コンパイラーエラー
-
[解決済み] C++でポインタを削除する
-
[解決済み] なぜテンプレートはヘッダーファイルでしか実装できないのですか?
-
[解決済み] なぜ、オブジェクトそのものではなく、ポインタを使用しなければならないのですか?
-
[解決済み] template "と "typename "キーワードはどこに、なぜ入れなければならないのですか?
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
-
[解決済み] Intel CPU の _mm_popcnt_u64 で、32 ビットのループカウンターを 64 ビットに置き換えると、パフォーマンスが著しく低下します。
-
[解決済み】NULLポインタの削除は安全ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] テスト
-
[解決済み】C++エラー。アーキテクチャ x86_64 に対して未定義のシンボル
-
[解決済み】 != と =! の違いと例(C++の場合)
-
[解決済み】デバッグアサーションに失敗しました。C++のベクトル添え字が範囲外
-
[解決済み】C++の余分な資格エラー
-
[解決済み】C++ - ステートメントがオーバーロードされた関数のアドレスを解決できない。
-
[解決済み】警告 - 符号付き整数式と符号なし整数式の比較
-
[解決済み] 変数サイズのオブジェクトが初期化されないことがある c++
-
[解決済み] スタックアロケーションにより初期化されていない値が作成された
-
[解決済み] ポインタを削除した後、NULLにするのは良い習慣ですか?