ポインタを上手に例えてみよう
■ このスレッドは過去ログ倉庫に格納されています
0745デフォルトの名無しさん
NGNGポインタは、「ポイントする者」、つまり「位置を指し示す者」の事。
プログラミングにおいて、ポインタは「オブジェクトの位置を保持するオブジェクト」。
オブジェクトっつうのは、変数だったり関数だったり、要はメモリ上に展開される「何か」。
その位置を示すオブジェクトがポインタ。
ポインタは大抵変数として実現するので、ポインタ自身もまたオブジェクトなのよ。
だから「ポインタのポインタ」なんて事が出来るわけね。
さて、上では便宜上「メモリ上に展開」と書いたが、高級言語を使っている場合、それは必ずしもメモリであるとは限らない。
ページングすれば HD上に展開されてしまうし、CPUのキャッシュに入る事もある。
高級言語でプログラミングするという事は、「オブジェクトが実際にはどこにあるか?」を隠蔽する、という事だ。
だから、ポインタはメモリアドレスを指す、というのは、限定的には合っているが厳密には合ってない。
オブジェクトのアドレスを指す、と言えば、ちょっとはマシになる(メモリという言葉を使わない)、かな。
■ このスレッドは過去ログ倉庫に格納されています