Cplusplus-cpp-constants-literals
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で定数を定義することは、優れたプログラミング手法であることに注意してください。