C++の++iとi++の違いは何ですか?
++のサフィックスバージョンとプレフィックスバージョンには大きな違いがあります。
- プレフィックスバージョン(つまり、++ i)では、iの値がインクリメントされ、式の値はiの新しい値になります。したがって、基本的には、最初にインクリメントしてから、式に値を割り当てます。
- postfixバージョン(つまり、i ++)では、iの値はインクリメントされますが、式の値は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に割り当てます。
- これらの値を印刷します
-
C#の値渡しと参照パラメーターの違いは何ですか?
参照パラメータ 参照パラメータは、変数のメモリ位置への参照です。参照パラメータは、メソッドに提供される実際のパラメータと同じメモリ位置を表します。 値パラメーターとは異なり、参照によってパラメーターを渡す場合、これらのパラメーターの新しい保管場所は作成されません。 値渡し これは、パラメータをメソッドに渡すためのデフォルトのメカニズムです。このメカニズムでは、メソッドが呼び出されると、値パラメーターごとに新しい保存場所が作成されます。 実際のパラメータの値がそれらにコピーされます。したがって、メソッド内のパラメーターに加えられた変更は、引数に影響を与えません。
-
C#での宣言と定義の違いは何ですか?
宣言とは、変数が宣言され、メモリが割り当てられるだけで、値が設定されないことを意味します。 ただし、定義とは、変数が初期化されていることを意味します。 同じことが変数、配列、コレクションなどにも当てはまります。 変数 変数を宣言します。 int x; 値を定義して割り当てましょう。 x = 10; 配列 配列を宣言します。 int [] n // declaring int n= new int[10]; // initializing 値を割り当てましょう。 n[0] = 100; n[1] = 200