-4

wikiで調べたら、データの物理アドレスと書いてありました。しかし、その意味は、私の教科書で使用されている単語の文脈では意味がありません。

「表 6.1 は、参照のデータ型に対するアドレス演算子 & の効果を示しています。」

& を使用した式は物理アドレス、つまり参照になるため、これは意味がありません。

また、彼らは valp と多くの「参照」の両方を呼び出しました。アドレスを意味する場合は、&many のみが参照になります。

この状況での参照の意味は何ですか?

4

3 に答える 3

2

広い意味で、サブルーチンに値を渡す主な方法は 2 つあります。値渡しと参照渡しです。違いは、値渡しではサブルーチンがデータのコピーを取得するため、元のデータを変更せずに変更できるのに対し、参照渡しではサブルーチン内のデータへの変更が後で呼び出し元にも表示されることです。

あなたが混乱している理由は、C++ で参照によって物事を渡す方法が 2 つあります: ポインターと参照です。&事実上、C++ 参照は、常にandを使用する必要がないことを除いて、ポインターと同じです*(参照に対してポインター演算を実行することもできません)。

于 2013-06-22T01:55:45.100 に答える
1
int a = 1;
int &b = a;//b is an alias for a.
a = 2;// b will also be 2

これはC++の機能です (最初に で質問にタグを付けたのを見たからですc)。上記の単純な例では、bは の参照でaあるため、その値はそれに応じて変更されます。

于 2013-06-22T01:56:01.527 に答える
0

あなたの質問には複数の誤解が含まれています。だから、正しい方向にあなたを始めるために:

&C++の演算子は、あるコンテキストではへの参照を意味し、別のコンテキストではのアドレスを意味します。これらの 2 つの意味は漠然としか関連しておらず、あなたの質問は 2 つを混同しているようです。ここで意味のある質問をする前に、頭の中で2つの意味を解きほぐすために、おそらくさらに数時間読む必要があります.

幸運を。

于 2013-06-22T01:56:07.127 に答える