2017-10-30 4 views
0
インクリメントするコール(b)は値 2の(B)

+ = 2とa = a + 2の実行の違いは?

1)コールを割り当てるコール異なる効果 を有するであろう

パラメータパッシング技術のれる

void increment(int a) 
{ 
    a+=2 
} 

void assign(int a) 
{ 
    a=a+2 
} 
)呼び出し値結果によっては

+0

使用している言語/ツールは何ですか? –

+0

私は何も使用していないのですが、それはちょうど私が遭遇した質問であり、式a + = 2とa = a + 2の実行が本当の違いをもたらすかどうかを知りたいのですか? –

+0

そして、それはその後、どのタイプの呼び出しを使用した後に違いがあるのでしょうか? –

答えて

0

最初の名前によって参照 4)呼び出しによって3)コールは、第2つの操作は計算値a + 2(+)とに割り当てるある。すなわち(+ =) に一つの操作、すなわちストア値a + 2でありますa(=)

Itこれらはどのように実装されていますが、言語に非常に依存しています。

+0

いいえ、次のパラメータ渡し技法のうち、increment(b)の呼び出しがassignどうして ? 1)値による呼び出し2)値による呼び出し3)参照による呼び出し4)名前による呼び出し –

+0

最終結果は、関係なく同じになります。場合によっては、そのうちの1つ(+ =)だけが最適なものになる可能性があります – Spads

0

ほとんどの場合(x + = yはx = x + yに等しいと仮定します)、違いはありません。また、ほとんどの言語では、両方の関数は渡された値に影響を与えないので、何もしません。

関連する問題