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

C ++の定数と変数の違いは何ですか?


変数と定数は、一般的に使用される2つの数学的概念です。簡単に言えば、変数は変化している、または変化する能力を持つ値です。定数は変更されない値です。

たとえば、10個の半径のリストを持つプログラムがあり、これらすべての円の面積を計算したい場合です。これらの円の領域を見つけるには、PIの値を格納する変数を持つプログラムを作成します。この値は、プログラム全体で変更されません。このような値は定数として宣言できます。

同じ例で、ループで面積を計算している場合は、同じ変数を使用して面積の値を一時的に保存して印刷し、他の計算に再利用できます。上記のコードは次のようになります-

float area;
const float PI = 3.141;
for(int i = 0; i < 10; i++) {
   area = PI * radii[i] * radii[i]; // Calculate area
   cout << area;  // Print area
}

PIの価値は、このプログラムの存続期間を通じて同じです。



  1. C ++のポインタ演算子*とは何ですか?

    C ++には、演算子のアドレス(&)と間接演算子(*)の2つのポインター演算子があります。ポインタは、別の変数のアドレスを含む変数です。または、別の変数のアドレスを含む変数は、他の変数を「指している」と言うことができます。変数は、オブジェクト、構造体、またはポインター自体を含む任意のデータ型にすることができます。 間接演算子(*)。これは&の補数です。オペランドで指定されたアドレスにある変数の値を返す単項演算子です。たとえば、 例 #include <iostream> using namespace std; int main () {    int &nbs

  2. C ++の#defineとconstキーワードの違いは何ですか?

    #defineディレクティブはプリプロセッサディレクティブです。プリプロセッサは、コンパイラがマクロを認識する前に、これらのマクロを本体に置き換えます。これは、ソースコードの自動検索と置換と考えてください。 const変数宣言は、言語で実際の変数を宣言します。これは、実際の変数のように使用できます。アドレスを取得し、渡し、キャストし、変換します。 コンパイラの最適化がないと、さまざまなケースでこれらの両方に関連するメモリ割り当ての隠れたコストが発生します。しかし、適切に最適化すれば、それらはほぼ同じになります。また、プリプロセッサマクロにはスコープがありませんが、const値にはスコープがあ