Cplusplus-cpp-modifier-types

提供:Dev Guides
移動先:案内検索

C ++修飾子タイプ

C ++では、* char、int、、および *double データ型の前に修飾子を付けることができます。 修飾子は、さまざまな状況のニーズにより正確に適合するように、ベースタイプの意味を変更するために使用されます。

データ型修飾子はここにリストされています-

  • 署名済み
  • 署名なし
  • long
  • ショート

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

修飾子 signed および unsigned は、 long または short 修飾子の接頭辞としても使用できます。 たとえば、 unsigned long int

C ++では、* unsigned、short、、または *long 整数を宣言するための短縮表記が可能です。 int なしで、単語* unsigned、short、または long、を使用できます。 自動的に *int を意味します。 たとえば、次の2つのステートメントは両方とも符号なし整数変数を宣言しています。

unsigned x;
unsigned int y;

符号付き整数修飾子と符号なし整数修飾子がC ++によって解釈される方法の違いを理解するには、次の短いプログラムを実行する必要があります-

#include <iostream>
using namespace std;

/*This program shows the difference between
  * signed and unsigned integers.
*/
int main() {
   short int i;          //a signed short integer
   short unsigned int j; //an unsigned short integer

   j = 50000;

   i = j;
   cout << i << " " << j;

   return 0;
}

このプログラムが実行されると、出力は次のようになります-

-15536 50000

上記の結果は、短い符号なし整数として50,000を表すビットパターンが、短い-15,536として解釈されるためです。

C ++の型修飾子

型修飾子は、先行する変数に関する追加情報を提供します。

Sr.No Qualifier & Meaning
1

const

タイプ const のオブジェクトは、実行中にプログラムによって変更することはできません。

2

volatile

修飾子 volatile は、プログラムによって明示的に指定されていない方法で変数の値が変更される可能性があることをコンパイラーに伝えます。

3

restrict

  • restrict* で修飾されたポインターは、最初は、それが指すオブジェクトにアクセスできる唯一の手段です。 C99のみが、restrictと呼ばれる新しい型修飾子を追加します。