C++のintとint&の違いは何ですか?

C Nointtoint No Weiiha Hedesuka



プログラミング言語では、データは変数を介してメイン メモリに格納されるため、データの取得、アクセス、および操作を実行できます。 C++ には、変数を使用してメモリにデータを割り当てるために使用されるデータ型があります。これらのデータ型はデータの型を示し、C++ コンパイラで事前定義されています。を使用して、メモリ内の別のデータを使用して 1 つのデータを参照することもできます。 & C++ の演算子。この記事では、次の点に光を当てます。

上記のクエリを 1 つずつ示してみましょう。







C++ の int とは何ですか?

C++ では、int は整数型データのみを参照するデータ型です。 int は C++ の予約済みキーワードで、整数値しか持たないため、メモリに保存していくつかの操作を実行できます。 C++ では、int データ型を使用して、プログラム内で正、負、ゼロの値を宣言します。



整数型の変数は、メモリ内で 4 バイトを使用します。 C++ では、整数型変数の宣言を以下に示します。



整数 a = 10 ;





上記では、整数型の変数が次の名前で作成されます。 a 10 の値が格納されているメイン メモリ内の場所。

C++ の int& とは何ですか?

int& は整数型変数への参照を意味します。これは、ストレージに既に存在する整数型の変数を指すことを意味します。参照変数は、宣言時に同じ型の実アイテムにリンクするように初期化する必要があります。以下は int& の初期化です。



int a = 5 ;
整数 & ref_var = a;

この場合、 ref_var への参照です a .上の任意の操作 ref_var に対するアクションを表します a 変数。たとえば、次のように入力すると ref_var= 25; a の値は 25 に変更されます。 ref_var 変数は単なるエイリアスです a 変数。

例: C++ における int と int& の違い

int と int& の違いを理解するには、次の例を参照してください。

#include
名前空間 std を使用します。

int メイン ( ) {
int a = 2 ; /// 整数変数 a を作成し、それに値を割り当てます 2
int b = a; /// a のコピーを作成し、それを b に割り当てる
a = 4 ; /// a の値を に変更します 4
カウト << a << エンドル; /// 出力: 4
カウト << b << エンドル; /// 出力: 2
戻る 0 ;
}

出力

この上記のコードでは、の値を変更します a の値を変更しません b 、 なぜなら b の単なるコピーです a これは main 関数の先頭で定義されています。

#include
名前空間 std を使用します。

int メイン ( ) {
int a = 2 ; /// 整数変数 a を作成し、それに値を割り当てます 2
整数 & ref_var = a; /// への参照を作成する
a = 4 ; /// a の値を に変更します 4
カウト << a << エンドル; /// 出力: 4
カウト << ref_var << エンドル; /// 出力: 4
戻る 0 ;
}

出力

この例では、 ref_var への参照です a .の値が a の値が変更されます。 ref_var どちらも同じ値を参照しているため、 も変更されます。

C++ 言語における int と int& の主な違い

次の表では、int と int& の一般的な違いについて説明します。

整数 int(&)
プリミティブで数値を保持するデータ型は int です。 int& は、実際の変数のエイリアスとして機能する数値変数へのアクセス ポイントです。
int を使用すると、変数の実際の値と相互作用します。 Int& は、実際の変数を変更するために適用できる整数のエイリアスです。
int 型の変数は、新しいメモリ割り当てを受け取ります。 int& は、既存の変数メモリを使用するため、新しいメモリを割り当てません。
整数変数のスコープと期間は独立しています。 int& のスコープと期間は指定されていません。それらが参照する int 参照変数が発生している間だけ発生します。

結論

他のプログラミング言語と同様に、C++ も、C++ インタープリターで既に定義されている多くの機能を提供します。一般的なデータ型の 1 つは、 整数 整数データを受け入れるデータ型、および int(&) を直接変更する int 変数参照です。 整数 変数。主な違いは 整数 int(&) is int は新しい変数を宣言しますが、 int(&) の宣言された変数を変更する参照変数です。 整数 タイプ。