C++Guns – RoboBlog

06.02.2020

C++ Guns: Style Guide

Filed under: Allgemein — Tags: — Thomas @ 19:02

Nicht zwingend HPC, ehr allgemein.


Strings werden mit std::string (pure C++) und/oder QString (Qt) dargestellt. Der C-String (char*) wird nicht mehr benutzt.

Das Konzept des C-Strings ist, die einzelnen Zeichen aneinander zu reihen und das Ende des Strings durch ein besonders ausgezeichnetes Zeichen darstellten: NULL. Das NULL Zeichen nennt man auch Sentinel. Dieses Prinzip ist auch 2020 Fehlerquelle #1 in Software.

In C++ werden Strings durch eine Aneinanderreihung von Zeichen dargestellt und zusätzlich die Länge des Strings separat gespeichert. Hierfür wird die Klasse std::string benutzt, welche intern 8-Byte Zeichen benutzt. Für GUI Anwendungen wird die Klasse QString verwendet, welche 16-Byte Zeichen benutzt. Um auch "Sonderzeichen" wie Umlaute oder EUR immer korrekt darzustellen.

Das Konzept des Sentinels ist nicht schlecht, es wurde sogar in C++17 standardisiert. Damit war es möglich in C++20 "Ranges" einzuführen. Eine grundsätzlich neue Technologie in der std C++ Welt.


No Comments

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress