1

さて、私のタイトルが言うように、私は変数を関数に渡したいのですが、その値は特定の方法で編集され、変数に再度保存されます。関数に計算値を返させたくないので、sthが必要です。このような:

    void function(variable_name, double computing_value)
    {
     variable_name *= computing_value;
    }

例えば。この方法の方が私にとってはより快適でしょう。(私はそれを使ってゲームのレベルをプログラムしたい)。sthできますか。これを取得するためのポインタを使用しますか?たとえば、関数へのポインターを渡し、ポインターが指す変数を参照しますか?

4

2 に答える 2

3

参照型が必要です:

void function(double& variable_name, double computing_value)
{
  variable_name *= computing_value;
}

ここではvariable_namedouble. 参照型を使用すると、コピーを開始せずに引数を関数に渡すことができます。つまり、渡されたオブジェクトへのvariable_name参照になります。

&注:タイプの を「アドレスの」演算子と間違えないでください。そうではありません。これらは&、C++ では 2 つの異なる意味です。ここでは、参照型に使用しています。

于 2013-02-19T15:56:26.777 に答える
1

C++ では、パラメーターを変更するためのポインターは不要になりました。代わりに参照を使用できます。

void function(T &t, T y) { // Where T is the type of your argument.
     t *= y;
}

この場合、パラメータyはコピーされますが、コピーされませんt。参照によって渡されるため、コピーは必要ありません。あなたはオブジェクト自体に作用しています。

于 2013-02-19T15:57:11.407 に答える