수색…
int
"실행 환경 아키텍처에서 제안한 자연적인 크기"로 부호가있는 정수 유형을 나타내며 범위는 -32767에서 +32767까지를 포함합니다.
int x = 2;
int y = 3;
int z = x + y;
다른 정수 유형을 산출하기 위해 unsigned
short
, long
, long long
(qv)와 결합 할 수 있습니다.
불량배
값이 true
또는 false
인 정수 유형입니다.
bool is_even(int x) {
return x%2 == 0;
}
const bool b = is_even(47); // false
숯
「구현의 기본 문자 세트의 임의의 멤버를 격납 할 수있을만큼 큰」정수형 char
가 서명되고 있는지 (적어도 -127에서 +127의 범위를 가진다), 또는 부호 없음 (0부터 255까지의 범위를 가진다)의 구현 정의로 구현됩니다.
const char zero = '0';
const char one = zero + 1;
const char newline = '\n';
std::cout << one << newline; // prints 1 followed by a newline
char16_t
따라서 uint_least16_t
와 크기 및 정렬이 동일하며 UTF-16 코드 단위를 포함 할만큼 충분히 큰 부호없는 정수 유형입니다.
const char16_t message[] = u"你好,世界\n"; // Chinese for "hello, world\n"
std::cout << sizeof(message)/sizeof(char16_t) << "\n"; // prints 7
char32_t
따라서 uint_least32_t
와 크기 및 정렬이 동일하고 UTF-32 코드 단위를 포함 할만큼 충분히 큰 부호없는 정수 유형입니다.
const char32_t full_house[] = U"🂣🂳🂨🂸🃈"; // non-BMP characters
std::cout << sizeof(full_house)/sizeof(char32_t) << "\n"; // prints 6
흙손
부동 소수점 유형. C ++에서 세 가지 부동 소수점 유형 중에서 가장 좁은 범위를가집니다.
float area(float radius) {
const float pi = 3.14159f;
return pi*radius*radius;
}
더블
부동 소수점 유형. 그 범위는 float
의 범위를 포함합니다. long
과 결합되면 long double
부동 소수점 유형을 나타내며 범위에는 double
포함됩니다.
double area(double radius) {
const double pi = 3.141592653589793;
return pi*radius*radius;
}
긴
적어도 int
와 길이가 같고 범위에 적어도 -2147483647 ~ +2147483647을 포함하는 부호가있는 정수 유형을 나타냅니다 (즉, - (2 ^ 31-1) ~ + (2 ^ 31-1)). 이 유형은 long int
로도 쓰여질 수 있습니다.
const long approx_seconds_per_year = 60L*60L*24L*365L;
조합 long double
은 부동 소수점 유형을 나타내며 세 가지 부동 소수점 유형 중 가장 넓은 범위를가집니다.
long double area(long double radius) {
const long double pi = 3.1415926535897932385L;
return pi*radius*radius;
}
때 long
지정자 회 발생과 long long
, 적어도만큼 인 서명 정수형이고 long
및 그 범위 9백22경3천3백72조3백68억5천4백77만5천8백7 적어도 -9223372036854775807를 포함한다 (즉, 포함 - (2 ^ 63 - 1) ~ + (2 ^ 63 - 1)).
// support files up to 2 TiB
const long long max_file_size = 2LL << 40;
짧은
적어도 char
만큼 길고 범위에 -32767 이상 +32767 이상을 포함하는 부호있는 정수 유형을 나타냅니다. 이 유형은 short int
로도 쓰여질 수 있습니다.
// (during the last year)
short hours_worked(short days_worked) {
return 8*days_worked;
}
빈
불완전한 유형; 객체 타입 가질 수 없습니다 void
, 나 거기가 배열되어 void
또는에 대한 참조 void
. 아무것도 반환하지 않는 함수의 반환 유형으로 사용됩니다.
게다가 함수는 void
형의 단일 매개 변수로 중복 선언 될 수 있습니다. 이것은 매개 변수없이 함수를 선언하는 것과 같습니다 (예 : int main()
및 int main(void)
가 동일한 함수를 선언 함). 이 구문은 C와의 호환성을 위해 허용됩니다 (함수 선언은 C ++과 다른 의미가 있습니다).
void*
( " void
to pointer") 유형은 객체 포인터를 그 포인터로 변환 할 수 있고 동일한 포인터를 반환 할 수 있다는 속성이 있습니다. 이 기능은 특정 유형의 (유형이 안전하지 않은) 유형 지우기 인터페이스, 예를 들어 C 스타일 API ( qsort
, pthread_create
)의 일반 컨텍스트에 적합한 void*
유형을 만듭니다.
모든 표현식은 void
유형의 표현식으로 변환 될 수 있습니다. 이를 버려진 값 식이 라고합니다.
static_cast<void>(std::printf("Hello, %s!\n", name)); // discard return value
이는 표현식의 값이 중요하지 않으며 표현식이 부작용에 대해서만 평가된다는 것을 명시 적으로 신호로 보내는 데 유용 할 수 있습니다.
wchar_t
와이드 문자 세트라고도하는 지원되는 최대 확장 문자 세트의 모든 문자를 나타낼만큼 충분히 큰 정수 유형입니다. wchar_t
가 UTF-16과 같은 특정 인코딩을 사용한다고 가정하기 위해 이식 할 수 없습니다.
ASCII 문자 255보다 큰 문자를 저장해야 할 때 일반적으로 사용됩니다. 문자 유형 char
보다 큰 크기입니다.
const wchar_t message_ahmaric[] = L"ሰላም ልዑል\n"; //Ahmaric for "hello, world\n"
const wchar_t message_chinese[] = L"你好,世界\n";// Chinese for "hello, world\n"
const wchar_t message_hebrew[] = L"שלום עולם\n"; //Hebrew for "hello, world\n"
const wchar_t message_russian[] = L"Привет мир\n"; //Russian for "hello, world\n"
const wchar_t message_tamil[] = L"ஹலோ உலகம்\n"; //Tamil for "hello, world\n"