Szukaj…


Separator cyfr

Trudno odczytać literały liczbowe zawierające więcej niż kilka cyfr.

  • Wymowa 7237498123.
  • Porównaj 237498123 z 237499123 dla równości.
  • Zdecyduj, czy 237499123 lub 20249472 jest większy.

C++14 zdefiniować prosty cudzysłów ' jako separator cyfr w liczbach i literały zdefiniowane przez użytkownika. Może to ułatwić ludzkim czytelnikom parsowanie dużych liczb.

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;

Znak pojedynczego cudzysłowu jest ignorowany przy określaniu jego wartości.

Przykład:

  • Literały 1048576 , 1'048'576 , 0X100000 , 0x10'0000 i 0'004'000'000 mają tę samą wartość.
  • Literały 1.602'176'565e-19 i 1.602176565e-19 mają tę samą wartość.

Pozycja pojedynczych cytatów jest nieistotna. Wszystkie poniższe są równoważne:

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;

Jest to również dozwolone w literałach user-defined :

C ++ 14
std::chrono::seconds tiempo = 1'674'456s + 5'300h;


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow