ポインタ変数が指すオブジェクトを取得するにはどうすればよいですか?C++でポインタ変数のメモリアドレスを取得する
IAddress *addPtr = ...;
method (IAddress & add){
//do something
}
IAddress
をメソッドに渡すにはどうすればよいですか?
これは間違いありませんか? addPtr
を想定し
method (&(* addPtr))
ポインタ変数が指すオブジェクトを取得するにはどうすればよいですか?C++でポインタ変数のメモリアドレスを取得する
IAddress *addPtr = ...;
method (IAddress & add){
//do something
}
IAddress
をメソッドに渡すにはどうすればよいですか?
これは間違いありませんか? addPtr
を想定し
method (&(* addPtr))
は、(参照を指定します)関数呼び出しでちょうどそれを間接参照し、有効なポインタです。
method(*addPtr)
ここでは2つの質問がありますので、3つの回答を挙げます。
itelfが&p
によって与えられるポインタ変数p
のアドレス。
p
が指すアドレスはp
で与えられます。 p
によって指し示されているアドレスの
コンテンツは*p
によって与えられます。
これはすべて基本的なものです。すべてのC++の本/チュートリアルでこれをカバーする必要があります。
EJP:第1弾と第2弾の相違点 –
違いは、ポインタ変数自体にはアドレスとそれが指しているものがあることです。繰り返しますが、これはすべて非常に基本的なものであり、これについて学ぶ場所ではありません。良いC++チュートリアルや本を試してみてください。 – EJP
'&(* addPtr)'は 'addPtr'と同じ値です(' IAddress'が '&'演算子をオーバーライドしないと仮定します)。 –