C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C ++のプレフィックス演算子とポストフィックス演算子の違いは何ですか?


プレフィックスバージョン(つまり、++ i)では、iの値がインクリメントされ、式の値はiの新しい値になります。したがって、基本的には、最初にインクリメントしてから、式に値を割り当てます。

postfixバージョン(つまり、i ++)では、iの値は増分されますが、式の{value|worth}はiの元の値です。したがって、基本的には、最初に式に値を割り当ててから、変数をインクリメントします。

理解を深めるためにいくつかのコードを見てみましょう-

#include<iostream>
using namespace std;

int main() {
   int x = 3, y, z;
   y = x++;
   z = ++x;
   cout << x << ", " << y << ", " << z;
   return 0;
}
出力 これで出力が得られます-

5, 3, 5

これはなぜですか?詳細を見てみましょう-

    xを3に初期化します 式x++を評価して得られる値をyに割り当てます。つまり、インクリメントする前のxの値を割り当ててから、xをインクリメントします。
  • xをインクリメントしてから、式++ xを評価して取得した値、つまりインクリメント後のxの値をzに割り当てます。
  • これらの値を印刷する

  1. Pythonの!=演算子と<>演算子の違いは何ですか?

    Python 2.xでは、!=演算子と<>演算子の両方を使用して、2つのオペランドが等しくないかどうかを確認できます。どちらも、オペランドが等しくない場合はtrueを返し、等しくない場合はfalseを返します。 Python 3.xでは、<>演算子は非推奨になりました。

  2. Pythonの=演算子と==演算子の違いは何ですか?

    Pythonでは、シンボルは割り当てとして定義されます オペレーター。左側に1つの変数、右側に式が必要です。右側の式の値は、左側の変数に割り当てられます。変数の式と名前は互換性がありません。 >>> a=10 >>> b=20 >>> c=a+b >>> a,b,c (10, 20, 30) >>> a+b=c SyntaxError: can't assign to operator ==記号は比較演算子であり、等しいと呼ばれます オペレーター。いずれかの側のオペランドが等しい場合はtrueを