2017-05-16 2 views
-4

ポインタ変数が指すオブジェクトを取得するにはどうすればよいですか?C++でポインタ変数のメモリアドレスを取得する

IAddress *addPtr = ...; 

method (IAddress & add){ 
    //do something 
} 

IAddressをメソッドに渡すにはどうすればよいですか?

これは間違いありませんか? addPtrを想定し

method (&(* addPtr)) 
+0

'&(* addPtr)'は 'addPtr'と同じ値です(' IAddress'が '&'演算子をオーバーライドしないと仮定します)。 –

答えて

2

は、(参照を指定します)関数呼び出しでちょうどそれを間接参照し、有効なポインタです。

method(*addPtr) 
2

ここでは2つの質問がありますので、3つの回答を挙げます。

  • itelfが&pによって与えられるポインタ変数pのアドレス。

  • pが指すアドレスはpで与えられます。 pによって指し示されているアドレスの

  • コンテンツ*pによって与えられます。

これはすべて基本的なものです。すべてのC++の本/チュートリアルでこれをカバーする必要があります。

+0

EJP:第1弾と第2弾の相違点 –

+0

違いは、ポインタ変数自体にはアドレスとそれが指しているものがあることです。繰り返しますが、これはすべて非常に基本的なものであり、これについて学ぶ場所ではありません。良いC++チュートリアルや本を試してみてください。 – EJP

関連する問題