C++ 定数


定数とは、プログラム実行中に変化しない固定値です。これらの固定値はリテラルとも呼ばれます。

定数は、整数、浮動小数点数、文字、文字列、ブール値に分類できる任意の基本データ型にすることができます。

定数は通常の変数と似ていますが、定数の値は定義後に変更できない点が異なります。

整数定数

整数定数には、10 進数、8 進数、または 16 進数の定数を使用できます。プレフィックスは基数を指定します。16 進数の場合は 0x または 0X、8 進数の場合は 0、プレフィックスがない場合のデフォルトは 10 進数です。

整数定数には接尾辞を付けることもできます。接尾辞は U と L の組み合わせです。U は符号なし整数 (unsigned) を表し、L は長整数 (long) を表します。接尾辞は大文字でも小文字でもよく、U と L は任意の順序で指定できます。

以下は、いくつかの整数定数の例です:

212         // 合法的
215u        // 合法的
0xFeeL      // 合法的
078         // 非法的:8 不是八进制的数字
032UU       // 非法的:不能重复后缀

以下は、さまざまなタイプの整数定数の例です:

85         // 十进制
0213       // 八进制 
0x4b       // 十六进制 
30         // 整数 
30u        // 无符号整数 
30l        // 长整数 
30ul       // 无符号长整数

浮動小数点定数

浮動小数点定数は、整数部、小数点、小数部、および指数部。浮動小数点定数は、10 進数または指数形式で表すことができます。

10 進数で表現する場合は、小数点、指数、またはその両方を含める必要があります。指数形式で表現する場合は、整数部分、小数部分、またはその両方を含める必要があります。符号付き指数は e または E で導入されます。

以下は浮動小数点定数の例です:

3.14159       // 合法的 
314159E-5L    // 合法的 
510E          // 非法的:不完整的指数
210f          // 非法的:没有小数或指数
.e55          // 非法的:缺少整数或分数

ブール定数

2 つのブール定数があり、どちらも標準 C++ キーワードです:

  • tru​​e 値は true を表します。値

  • false は false を表します。

true の値を 1 として扱い、false の値を 0 として扱うべきではありません。

文字定数

文字定数は一重引用符で囲まれます。定数が L で始まる場合 (大文字の場合のみ)、それはワイド文字定数 (例: L'x') であることを意味し、その場合は wchar_t 型の変数に格納する必要があります。それ以外の場合、それはナロー文字定数 (例: 'x') であり、その場合は char 型の単純な変数に格納できます。

文字定数には、通常の文字 (「x」など)、エスケープ シーケンス (「t」など)、またはユニバーサル文字 (「u02C0」など) を使用できます。

C++ では、前にバックスラッシュが付いている特定の文字が特別な意味を持ち、改行 (n) またはタブ (t) を表すために使用されます。次の表は、そのようなエスケープ シーケンス コードの一部を示しています。

1つ以上。 16 進数の数字

次の例は、いくつかのエスケープ シーケンス文字を示しています。

#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

定数を大文字で定義するのが良いプログラミング方法であることに注意してください。


エスケープ シーケンス 意味
\ 文字
'' 文字
" 」キャラクター
?? キャラクター
aアラート着信音
bバックスペース
fフォームフィード
n 改行
rEnter
t水平タブ文字
v垂直タブ文字
ooo1〜3個の8進数