Kurze Frage zu String

(deleted)

String nur wenn man weiss, was man tut. Als Anfänger weiß man das nicht, und wenn man es dann weiß, nutzt man String nicht mehr :wink:

Es kommt darauf was man macht. Gerade Anfänger verwenden die String Klasse einfach nicht korrekt. Beispiele:
1.) Es wird praktisch nie reserve() verwendet um Speicher zu reservieren
2.) Es werden oft Strings unnötig mit + verknüpft, was z.B. bei seriellen Ausgaben völlig unnötig ist
3.) Strings werden als Kopien an Funktionen übergeben wodurch neue Objekte erzeugt werden (da habe ich auch schon in auf auf Github veröffentlichen Bibliotheken gesehen). Statt einfach eine Referenz zu verwenden
4.) Oft sieht man unnötige Konvertierungen von Variablen auf String Objekte obwohl die String Klasse mit den Datentypen selbst umgehen kann

Abgesehen davon ist es weniger problematisch global ein paar String Objekte anzulegen die sich nie oder kaum ändern als ständig irgendwie lokal neue Objekte zu erstellen und zu zerstören.

Die String Klasse hat aber auch generelle Schwächen. Sie braucht mehr Speicher, da intern ein paar Variablen verwaltet werden (6 Bytes pro Objekt). Es mangelt gewaltig an Konvertierungs- und Formatierungs-Funktionen. Und während ein paar Sachen mit String Objekten einfacher sind, sind andere Sachen mit C Strings sehr viel schöner, z.B. Teil-Strings Suchen oder Strings splitten

(deleted)