C++データ型修飾子を理解する:signed, unsigned, long, short
C++では、char、int、double データ型に修飾子を前置できます。修飾子は基本型の意味を変更し、さまざまな状況のニーズにより正確に適合させるために使用されます。
データ型修飾子は以下の通りです:
- signed
- unsigned
- long
- short
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++が signed と unsigned の整数修飾子をどう解釈するかの違いを理解するには、以下の短いプログラムを実行してください:
Live Demo#include <iostream>
using namespace std;
/* このプログラムは signed と unsigned 整数の違いを示します。 */
int main() {
short int i; // 符号付き短整数
short unsigned int j; // 符号なし短整数
j = 50000;
i = j;
cout << i << " " << j;
return 0;
}
このプログラムを実行すると、以下の出力が得られます:
-15536 50000
この結果は、50,000 を表す符号なし短整数のビットパターンが、符号付き短整数として解釈されると -15,536 になるためです。
C++の型修飾子
型修飾子は、それらが前置される変数について追加情報を提供します。
| No. | 修飾子と意味 |
|---|---|
| 1 | const const 型のオブジェクトは、実行中にプログラムによって変更できません。 |
| 2 | volatile volatile 修飾子は、変数の値がプログラムで明示的に指定されていない方法で変更される可能性があることをコンパイラに伝えます。 |
| 3 | restrict restrict で修飾されたポインタは、最初、それが指すオブジェクトにアクセスする唯一の手段となります。C99 で新しい型修飾子 restrict が追加されました。 |
C言語
- C++データ型完全ガイド:基本型、修飾子、ベストプラクティス
- C++演算子完全ガイド:算術・代入・関係・論理・ビット演算子と実例
- C++コメント完全ガイド:読みやすく保守しやすいコードのためのベストプラクティス
- C++クラステンプレート完全ガイド:実践的なジェネリックプログラミング
- C++変数とデータ型:int、double、char、string、boolを徹底解説
- C++演算子を徹底解説:種類、例、サンプルプログラム付き
- C言語のデータ型完全ガイド:整数、浮動小数点、void型
- C++プログラミング言語:概要と主要機能
- C++変数タイプ完全解説:メモリ、制限、操作
- C++定数とリテラル完全解説:型、構文、ベストプラクティス
- Java修飾子完全ガイド:アクセス/非アクセス修飾子の種類と使い分け