Cplusplus-cpp-constants-literals

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

C ++定数/リテラル

定数は、プログラムが変更できない固定値を指し、*リテラル*と呼ばれます。

定数は、基本的なデータ型のいずれかであり、整数数値、浮動小数点数値、文字、文字列、ブール値に分割できます。

繰り返しますが、定数は通常の変数と同様に扱われますが、定義後に値を変更することはできません。

整数リテラル

整数リテラルは、10進、8進、または16進定数です。 プレフィックスは、基数または基数を指定します。16進数の場合は0xまたは0X、8進数の場合は0、10進数の場合は何もありません。

整数リテラルには、UとLを組み合わせたサフィックスを付けることもできます。それぞれ、符号なしとロングを表します。 接尾辞は大文字でも小文字でも、任意の順序で指定できます。

ここに整数リテラルのいくつかの例があります-

212        //Legal
215u       //Legal
0xFeeL     //Legal
078        //Illegal: 8 is not an octal digit
032UU      //Illegal: cannot repeat a suffix

以下は、整数リテラルのさまざまなタイプの他の例です-

85        //decimal
0213      //octal
0x4b      //hexadecimal
30        //int
30u       //unsigned int
30l       //long
30ul      //unsigned long

浮動小数点リテラル

浮動小数点リテラルには、整数部、小数点、小数部、指数部があります。 浮動小数点リテラルは、10進数形式または指数形式で表現できます。

小数点形式を使用して表す場合は、小数点、指数、またはその両方を含める必要があり、指数形式を使用して表す場合は、整数部、小数部、またはその両方を含める必要があります。 符号付き指数は、eまたはEによって導入されます。

浮動小数点リテラルの例をいくつか示します-

3.14159      //Legal
314159E-5L   //Legal
510E         //Illegal: incomplete exponent
210f         //Illegal: no decimal or exponent
.e55         //Illegal: missing integer or fraction

ブールリテラル

2つのブールリテラルがあり、それらは標準のC ++キーワードの一部です-

  • trueを表す true の値。
  • falseを表す false の値。

trueの値が1に、falseの値が0に等しいとは考えないでください。

文字リテラル

文字リテラルは単一引用符で囲まれます。 リテラルがL(大文字のみ)で始まる場合、それはワイド文字リテラル(例:L’x ')であり、 wchar_t タイプのvariableに格納する必要があります。 それ以外の場合は、ナロー文字リテラル(例: 'x')であり、 char 型の単純な変数に格納できます。

文字リテラルは、プレーン文字(例: 'x')、エスケープシーケンス(例: '\ t')、またはユニバーサル文字(例: '\ u02C0')です。

C ++には特定の文字があり、バックスラッシュが前に付いている場合は特別な意味を持ち、改行(\ n)またはタブ(\ t)のような表現に使用されます。 ここでは、そのようなエスケープシーケンスコードのいくつかのリストを持っています-

Escape sequence Meaning
\\ \ character
\' ' character
\" " character
\? ? character
\a Alert or bell
\b Backspace
\f Form feed
\n Newline
\r Carriage return
\t Horizontal tab
\v Vertical tab
\ooo Octal number of one to three digits
\xhh . . . Hexadecimal number of one or more digits

以下は、いくつかのエスケープシーケンス文字を示す例です-

#include <iostream>
using namespace std;

int main() {
   cout << "Hello\tWorld\n\n";
   return 0;
}

上記のコードをコンパイルして実行すると、次の結果が生成されます-

Hello   World

文字列リテラル

文字列リテラルは二重引用符で囲みます。 文字列には、文字リテラルに類似した文字が含まれます:プレーン文字、エスケープシーケンス、およびユニバーサル文字。

文字列リテラルを使用して長い行を複数の行に分割し、空白を使用してそれらを区切ることができます。

文字列リテラルの例を次に示します。 3つの形式はすべて同じ文字列です。

"hello, dear"

"hello, \

dear"

"hello, " "d" "ear"

定数の定義

C ++には定数を定義する2つの簡単な方法があります-

  • *#define *プリプロセッサを使用します。
  • const キーワードを使用します。

#defineプリプロセッサ

以下は、#defineプリプロセッサを使用して定数を定義する形式です-

#define identifier value

次の例では、詳細に説明します-

#include <iostream>
using namespace std;

#define LENGTH 10
#define WIDTH  5
#define NEWLINE '\n'

int main() {
   int area;

   area = LENGTH * WIDTH;
   cout << area;
   cout << NEWLINE;
   return 0;
}

上記のコードをコンパイルして実行すると、次の結果が生成されます-

50

constキーワード

次のように、 const プレフィックスを使用して、特定のタイプの定数を宣言できます-

const type variable = value;

次の例では、詳細に説明します-

#include <iostream>
using namespace std;

int main() {
   const int  LENGTH = 10;
   const int  WIDTH  = 5;
   const char NEWLINE = '\n';
   int area;

   area = LENGTH * WIDTH;
   cout << area;
   cout << NEWLINE;
   return 0;
}

上記のコードをコンパイルして実行すると、次の結果が生成されます-

50

CAPITALSで定数を定義することは、優れたプログラミング手法であることに注意してください。