読者です 読者をやめる 読者になる 読者になる

ポインタはポインタだろ!

c/c++

いえ、嘘です、ごめんなさい。

僕がポインタを学んだときにまず考えたのは、
「ポインタはその変数に入っているメモリアドレスが何の型であるか、を指し示すものである」
というようなことだった、ような気がしている。

int* hoge
なら、hogeが持っている値がアドレスであり、
それが指し示すものがintであると仮定するためのもの。
そして、それを取り出す為に*hogeとするということ。

要するに、メモリアドレスには当然型なんてものはないわけで、
そのメモリアドレスを何らかの型であると解釈するためのもの、
なんてことを思った訳ですよ。

そして、
ひとつ言えることは、
メモリアドレスと戯れないと、ポインタは理解できないんじゃないかなあ、
要するにメモリダンプを見て、そのオブジェクトがどのようにメモリ展開されているか、
を想像するのがキモなんじゃないか、
とか思ってマス。
お前らもっとダンプ読めよ!