• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C++の&について)

C++のアドレス演算子&について

このQ&Aのポイント
  • C++では、アドレス演算子&を使って変数のアドレスを取得することができます。
  • イテレータの実体を*で取得し、&でアドレスを取得することで、Pstructobj型の変数に代入することができます。
  • しかし、1.の&を使った方法はアクセス違反が起こる可能性があります。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

> structobj&型と、structobj型の違いとは何でしょうか。 参照型か否か、です。両者は別物。 int i = 0; int& ref = i; // ref は i の参照 ++ref; // ここで i == 1 となる

その他の回答 (2)

回答No.2

> // 1.コンパイルは通るが、iValにアクセスするとアクセス違反 > Pstructobj oP1 = (Pstructobj&)*structobjList.begin(); *structobjList.begin() の型は structobj&、 それを structobj*& にキャストするのはデタラメ。 デタラメなキャストしてんだから、アクセスしたら何起こるかわからんです。

tonanpe3
質問者

補足

でたらめなキャストは理解できましたが、 structobj&型と、structobj型の違いとは何でしょうか。 仮引数の型に指定する&(参照変数)は知っていますが、、、

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

「参照 C++」で検索してください。

関連するQ&A