[過去ログ] 【初心者歓迎】C/C++室 Ver.101【環境依存OK】 [無断転載禁止]©2ch.net (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
641
(3): デフォルトの名無しさん [sage] 2017/09/09(土) 13:55:13.28 ID:xEPuJyU1(1/2) AAS
低レベルな処理でポインタが便利と言われるのはなぜか
言葉で語るのは大変なのでコードで語ろう
hoge *p = (hoge)nanika_no_memory_block;
p->piyo = 100;
これが出来る言語は、あまりない
645: デフォルトの名無しさん [sage] 2017/09/09(土) 19:48:57.56 ID:xEPuJyU1(2/2) AAS
>>641はちょっとコードをミスってしまった
訂正するほどでもないと思うが一応直しておく

hoge *p = (hoge *)nanika_no_memory_block;
p->piyo = 100;

C形式のAPIとの互換性のためにアドレス値が扱える言語は多いが
>>643
643(1): はちみつ餃子 ◆8X2XSCHEME [sage] 2017/09/09(土) 15:46:41.32 ID:yY9TM3ez(1) AAS
低水準に寄り過ぎると「アドレスを表す整数」だったりして、
(ポインタ相当の操作は可能なものの、)
言語としてのサポートが全然なかったりするので、
ポインタってのは妥当な落としどころだよなー
の言う通り、アドレスを表す整数、ってだけの場合も多い
他の高級言語はオブジェクトに色々な機能を持たせるために
複雑なメモリレイアウトをしているものなので
適当なメモリブロックのアドレスを適当にキャストして
まるで、ネイディブオブジェクトであるかのように扱う、ということが出来にくい
(C++ですら仮想関数テーブルを持っているとアウト)
なので、素のメモリブロックを扱う場合はC/C++のポインタが便利
C言語はナカナカにツボを押さえた設計になっている
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.276s*