型/3.9.1基本型 のバックアップソース(No.5)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- バックアップ を表示
- 型/3.9.1基本型 へ行く。
* 基本型 (fundamental type) [#b60f65fb] 基本型には、[[汎整数型>#integral]]、[[浮動小数点型>#floating]]、および [[void 型>#void]]がある。 &aname(integral); **汎整数型 (integral type) [#x3ddac32] [[char>#char]] 型、[[wchar_t>#wchar_t]] 型、[[bool>#bool]] 型、[[符号付き整数型>#unsigned]]、および[[符号なし整数型>#signed]] の総称。~ 整数型は汎整数型の同義語である。 &aname(signed); ***符号付き整数型 (signed integer type) [#sf6f9443] 符号付き整数型には、[[signed char]]、[[short]]、[[int]]、および [[long]] の 4 つがある。これらの[[型]]の[[記憶域]]の大きさは、signed char ≦ short ≦ int ≦ long である。~ 符号付き整数型のそれぞれに対し、対応する[[符号なし整数型]] (ただし、型は異なる) が存在する。 [[共通の拡張]]として、[[long long>共通の拡張#longlong]] 等の符号付き整数型をサポートしている[[処理系]]もある。 : &aname(signed-char){signed char 型}; | : &aname(short){short 型}; | : &aname(int){int 型}; | : &aname(long){long 型}; | &aname(unsigned); ***符号なし整数型 (unsigned integer type) [#i6fa528e] 符号なし整数型には、[[unsigned char]]、[[unsigned short]]、[[unsigned int]]、および [[unsigned long]] の 4 つがある。これらの型の記憶域の大きさは、unsigned char ≦ unsigned short ≦ unsigned int ≦ unsigned long である。符号なし整数型のそれぞれに対し、対応する[[符号付き整数型]] (ただし、型は異なる) が存在する。 [[共通の拡張]]として、[[unsigned long long>共通の拡張#longlong]] 等の符号なし整数型をサポートしている[[処理系]]もある。 : &aname(unsigned-char){unsigned char 型}; | : &aname(unsigned-short){unsigned short 型}; | : &aname(unsigned-int){unsigned int 型}; | : &aname(unsigned-long){unsigned long 型}; | &aname(character); &aname(char); ***文字型 (character type) [#xa8860c0] char 型、[[signed char 型>signed-char]]、[[unsigned char 型>unsigned-char]] の総称。 文字型として宣言された[[オブジェクト>C++ オブジェクトモデル#object]]は、[[処理系定義]]の[[基本文字集合]]のどんな要素でも格納できるだけの大きさをもっている。基本文字集合中の 1 文字が文字型の[[オブジェクト>C++ オブジェクトモデル#object]]に格納される場合、その整数値は、同文字に対応する 1 [[文字リテラル>リテラル#character]]の値と等しい。 文字型に属している 3 つの型は、それぞれ異なる型である (すなわち[[多重定義]]が可能である) 。 3 つの型は同じ大きさの記憶域をもち、同じ[[境界調整]]要求がある。したがって、これら 3 つの型のオブジェクト表現は同じになる。文字型を構成するすべての[[ビット>C++ 記憶モデル#bit]]が値表現に関わる ([[詰め物]]が入ることはない) 。 &aname(other-integral); *** その他の汎整数型 [#l5e1bfb3] : &aname(wchar_t){wchar_t 型}; | : &aname(bool){bool 型}; | &aname(floating); **符号小数点型 [#gf156bf8] 浮動小数点型には、[[float]]、[[double]]、および [[long double]] の3つがある。 : &aname(float){float 型}; | : &aname(double){double 型}; | : &aname(long-double){long double 型}; | &aname(void); **void 型 [#zee60c88] [[値]]のない[[式]]の[[型]]。