関数で 2 つの変数 (戻り値と別の変数) を変更する方法を知りたいと思っていたのですが、パラメーターの前に「&」を付けて関数を呼び出すことにつまずきました (これはパラメーターのアドレスを意味すると理解しています)。 「*」記号で参照します(これは「逆参照」であり、アドレスのオブジェクトを変更することを意味します)。
とにかく、これはすべて順調に進んでおり、友人は、変数を使用して関数を直接呼び出し、ヘッダーでその前に & を付けて変数を参照し、関数全体で通常どおり処理できると言いました。これはもっと簡単に思えますが、なぜウェブ上でそれについて詳しくないのでしょうか? あるスタイルは他のスタイルよりも正しいですか?
void foo(int &junk) //The way the friend said
{
junk++;
}
void oof(int *junk) //what I found, and what the internet seems full of
{
(*junk)++;
}
int main ()
{
int junk=1;
std::cout << junk << "\n";
foo(junk);
std::cout << junk << "\n";
oof(&junk);
std::cout << junk;
}
これは以下を出力します:
1
2
3
だから、すべてがうまくいくと思います。