>>950 それで、そのコードが実行できたってことでなにが主張したいの?
>>952 動作するか検証しただけですが、何か問題でも?
>>953 未定義動作の結果を見てなにを検証したというのか?
ぬるぽでも動くのか。
奇怪だな。
>>954 未定義だけど「動いた」って書いただけだろ。
何をムキになってる?
>>956 未定義なのがわってるなら、まぁいいんだが。
>>937みたいなやつがそれ見たら、誤解しかねない。
>>932 ? に何がくるかだと思うが。
// case 1
phoge = &hoge;
delete phoge;
これはヤバい。
new されてないのを delete してる。
どうなるかは分からんが、普通は落ちる。
// case 2
phoge = new Hoge;
delete phoge;
hoge.foo();
問題なし。
// case 3
phoge = new Hoge[9];
delete phoge;
これはヤバい。
配列 new したのを単一 delete してる。
普通、配列 new した場合はその個数を配列の直前に保持しておくが、
単一 new の場合はそんなものはない。
従って、実際に確保されたメモリブロックは phoge よりちょっと前なのが普通であり、
delete に渡されたアドレスはその先頭とはずれている。
その後どういう動作になるのかは分からん。
仮にその余分なメモリを確保しない仕様のコンパイラであっても、
phoge[1] 〜 phoge[8] がデストラクトされないまま解放されてしまうだろう。
ミス。
// case 1
phoge = &hoge;
あと、こう置き換えて。
Hoge → HogeClass
phoge → pHoge
hoge → Hoge
foo → Func
>>958 聞いてもいないことを長々と解説するなよ。うざいぞ。
>>962 はぁ?それならcase 1で十分なうえに既出だろ。
だれも配列newの話なんかしてない。
(・A・)まったりしろよ君たち…
なんでこうムキになる奴が多いんだろうね(´ー`)y─┛~~
967 :
デフォルトの名無しさん:03/04/13 01:50
だってC++だもん
正直言って、普通とか規約とかどうでもいい。
ただ動けば問題ない。
科学と一緒。
認知できないものは存在しない。
スマン,ナントナク
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >_∧∩
_/し' //. V`Д´)/ ←
>>967 (_フ彡 /
971 :
マイク ◆yrBrqfF1Ew :03/04/13 01:56
C++は最高だよ。
2ちゃんネラは常にダメだが。
動いているように見えてるだけかもしれない
科学と一緒。
認知できてから考えれば良い。
そんな考え方だから2000年問題みたいなんが起こるんだ。
2000年問題? 将来はもっと凄い問題が待ってるぜ!
問題が起こった方が刺激があっていいYO!
さて、そろそろ次スレの季節ですね。
>刺激があっていいYO!
確かに…わくわくするな(`エ´*)
ちょうど一ヶ月だ!
983 :
デフォルトの名無しさん:03/04/13 02:31
>>932 VC++6.0とXPだと動作が不安定になる。
以降の処理で問題なく動くときもあるし、いきなり落ちるときもある。
しばらく大丈夫かと思えば、やっぱり途中で落ちたり、
Hoge.Func()が予期しない処理をしたりする。
まあ、慣れないことはしないに越したことが無いってことだ。
どうせ誰も2038年問題のことなど何も考えてないだろ
985 :
デフォルトの名無しさん:03/04/13 02:33
っていうか、慣れるって・・・
慣れたら念力で常に正常実行できるとか?(w
>>984 その頃には最新のコンピュータが、
問題のあるコンピュータのコードを書き換えてくれるようになってるよ。
988 :
デフォルトの名無しさん:03/04/13 03:41
20年後ってVC++使いって需要ありますかね?
989 :
デフォルトの名無しさん:03/04/13 03:42
量子コンピューターが実用化されたら、
今のプログラマーは置いてきぼりかな・・・
そのころには年金で宇宙旅行にでもいってるよ
get
v(^・^)v
1000取り始め
996
997
998
999
1000!!!
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。