Suche…


Zifferntrennzeichen

Numerische Literale mit mehr als ein paar Ziffern sind schwer zu lesen.

  • 7237498123 aussprechen
  • Vergleichen Sie 237498123 mit 237499123 für Gleichheit.
  • Entscheiden Sie, ob 237499123 oder 20249472 größer ist.

C++14 definiert Simple Quotation Mark ' als Zifferntrennzeichen in Zahlen und benutzerdefinierten Literalen. Dies kann es für menschliche Leser einfacher machen, große Zahlen zu parsen.

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;

Anführungszeichen werden bei der Bestimmung des Werts ignoriert.

Beispiel:

  • Die Literale 1048576 , 1'048'576 , 0X100000 , 0x10'0000 und 0'004'000'000 alle den gleichen Wert.
  • Die Literale 1.602'176'565e-19 und 1.602176565e-19 haben den gleichen Wert.

Die Position der einfachen Anführungszeichen ist irrelevant. Alle folgenden sind gleichwertig:

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;

Es ist auch in user-defined Literalen zulässig:

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


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow