掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
メモリ破壊について (ID:68466)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
何が訊きたいのか良くわかんないんだけど A* a; // uninitialized a->test(); // function call via uninitialized pointer は「原則、動かない」わけだ virtual void test() { ... } にすれば100%動かないから試して味噌。 「たまたま偶然、特定状況下では動くことも有るかもしれない」(=バグっているコードがたまたま動く) のと 「どんなコンパイラでコンパイルしても、どんなOSで実行しても、動く」(=正しいコードが正しく実行される) のと では大きく違う 提示例がうまく動くとは言語規格書もコンパイラのマニュアルも保証してくれないわけで 動作保証をばーとん氏が自分で行うのなら勝手にすればいい。 static な void A::sfunc() を A::sfunc(); と呼ぶのは動作保証があるし a->sfunc(); と呼んでも a の値は使用されないので動作保証があるよ
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.