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

なぜC/C ++で修飾子を使用するのですか?


修飾子は、必要に応じて機能するように、基本タイプの意味を変更するために使用されます。たとえば、時間を負にすることはできず、符号なしにするのは理にかなっています。 C ++では、char、int、およびdoubleデータ型の前に修飾子を付けることができます。データ型修飾子はここにリストされています-

  • 署名済み
  • 署名なし
  • 長い
  • 短い

符号付き、符号なし、long、およびshortの修飾子は、整数の基本型に適用できます。さらに、signedとunsignedはcharに適用でき、longはdoubleに適用できます。

符号付きおよび符号なしの修飾子は、長すぎるまたは短すぎる修飾子のプレフィックスとしても使用できます。たとえば、unsignedlongint。

C ++では、符号なし整数、短整数、または長整数を宣言するための省略表記が可能です。 intを使用せずに、unsigned、short、またはlongという単語を使用できます。 intが暗示されます。

unsigned long a; // AND
unsigned long int a; // Are the same

  1. なぜC++で制限修飾子を使用するのですか?

    C++にはそのようなキーワードはありません。 C ++キーワードのリストは、C++言語標準のセクション2.11/1にあります。制限は、C言語のC99バージョンのキーワードであり、C++ではありません。 Cでは、制限修飾ポインター(または参照)は基本的に、ポインターのスコープについて、ポインターのターゲットはそのポインター(およびそこからコピーされたポインター)を介してのみアクセスされるというコンパイラーへの約束です。 C ++コンパイラも最適化の目的でこの定義をサポートしていますが、公用語仕様の一部ではありません。

  2. なぜC++で揮発性修飾子を使用するのですか?

    揮発性とは2つのことを意味します- 変数の値は、コードを変更しなくても変更される可能性があります。したがって、コンパイラが変数の値を読み取るときはいつでも、それが最後に読み取られたときと同じであるとは見なされない場合や、最後に格納された値と同じであるとは見なされない場合がありますが、再度読み取る必要があります。 揮発性変数に値を格納する行為は、外部から観察できる「副作用」であるため、コンパイラは値を格納する行為を削除することはできません。たとえば、2つの値が連続して格納されている場合、コンパイラは実際に値を2回格納する必要があります。 例として: i = 2; i = i;