- C++相談室 part119 [転載禁止]©2ch.net
460 :デフォルトの名無しさん[sage]:2015/09/23(水) 00:24:11.18 ID:MwhyHk4V - >>458
それはその通り。 ただ、参照自体のサイズをユーザーが関知する必要がない。(ソースコードに現れない) そこが決定的に違う。 だから、処理系が勝手に64bit参照にしていたとしても、同じソースコードがそのまま動くことになる。 ただ悪いが、この件に関して俺がいちいち回答する必要はマジでない。 俺が言っているのは本当に自明なことばかりであるし、君達も少し他言語をかじるだけで分かる話だ。
|
- C++相談室 part119 [転載禁止]©2ch.net
464 :デフォルトの名無しさん[sage]:2015/09/23(水) 00:52:34.21 ID:MwhyHk4V - 悪いがいちいち面倒なので、アホレスしたIDはそれ以降無視することにするよ。
とりあえず現在の無視対象は ID:nPFFi/Oi, ID:qfkgp73Y マジでお前ら他言語触った方がいい。 そもそも他言語ではアドレス自体を取れないことが多い。 次に、取れたとしてもキャストできなかったりする。 だから、どうやっても sizeof(void*) 依存のコードを記述できない言語の方が多い。 C言語において無理なキャストをしなければ void* のサイズはコンパイラが自動的に判断して確保してくれる。 結果、32bitと64bitで同じコードが動く。 これはID:nPFFi/Oi, ID:qfkgp73Yみたいな馬鹿でも知っている、当たり前の話だ。 ただこれはユーザーがちゃんとそう記述したことを保証しなければならない。つまり、ユーザー依存だ。 上記のように、そもそもアドレスを取れない言語では、ユーザーがどうやっても sizeof(void*) 依存のコードを記述できない。 だからそもそも 32bit とか 64bit とか気にする必要もない。ここが決定的に違う。 何度も言うけど、お前ら本当に他言語を少しでも触った方がいい。
|
- C++相談室 part119 [転載禁止]©2ch.net
472 :デフォルトの名無しさん[sage]:2015/09/23(水) 01:21:28.78 ID:MwhyHk4V - >>467
もちろんその通り。 生ポインタを扱えることこそがCの最大の特徴であり、それをやらないのならCを使う意味はほぼ無い。 ただ生ポインタってのは実際は両刃の剣で、生ポインタさえなければ色々なことが単純になるんだよ。 そこは元のブログにも書かれているし、もっと他にも色々ある。 結果、Java作者はない方がいいと思ったから廃止したし、 C#作者は無いと困るがふんだんに使われても困るということで例外的使用に留めている。 ただまあ、本当にここら辺は一般論で、別に俺がわざわざここで言い直す必要もなく、 他でもさんざん言われていることだ。あのブログの中でも然り。 そしてそう思う奴も覆いから他言語も賑わっているわけで。 てゆうかもういいっすかね。特に俺である必要ないはずだし。
|
- C++相談室 part119 [転載禁止]©2ch.net
485 :デフォルトの名無しさん[sage]:2015/09/23(水) 02:12:08.91 ID:MwhyHk4V - >>479
これか? http://qiita.com/pepepe/items/3d810e1bbed25768caa0 これは危険なタイプの生ポインタではないんだ。だから問題ない。
|