C++
Цифровые разделители
Поиск…
Цифровой разделитель
Числовые литералы из более чем нескольких цифр трудно читать.
- Произнести слово «7237498123.
- Сравните 237498123 с 237499123 за равенство.
- Решите, больше ли 237499123 или 20249472.
C++14
define Simple Quotation Mark '
как разделитель цифр, в числах и пользовательских литералах. Это может облегчить для читателей людей синтаксический анализ больших чисел.
C ++ 14
long long decn = 1'000'000'000ll;
long long hexn = 0xFFFF'FFFFll;
long long octn = 00'23'00ll;
long long binn = 0b1010'0011ll;
Одиночная кавычка игнорируется при определении ее значения.
Пример:
- Литералы
1048576
,1'048'576
,0X100000
,0x10'0000
и0'004'000'000
все имеют одинаковое значение. - Литералы
1.602'176'565e-19
и1.602176565e-19
имеют одинаковое значение.
Позиция одиночных кавычек не имеет значения. Все следующие эквиваленты:
C ++ 14
long long a1 = 123456789ll;
long long a2 = 123'456'789ll;
long long a3 = 12'34'56'78'9ll;
long long a4 = 12345'6789ll;
Это также разрешено в user-defined
литералах:
C ++ 14
std::chrono::seconds tiempo = 1'674'456s + 5'300h;
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow