![]() |
![]() |
C++ - Objekte verwenden (3) |
Druckversion | G.Eichelsdörfer - Staatliche Technikerschule Weilburg |
Sehr kleiner Auszug aus einer Dokumentation zu std::string | |
---|---|
size_type size() | Returns the size of the string. |
size_type length() | Synonym for size(). |
size_type max_size() | Returns the largest possible size of the string. |
bool empty() | True if the string's size is 0. |
void swap(string& s) | Swaps the contents of two strings. |
size_type capacity() |
Number of elements for which memory has been allocated. That is, the size to which the string can grow before memory must be reallocated. capacity() is always greater than or equal to size(). |
Ein std::string-Objekt bietet noch viel mehr solcher Kommunikationsschnittstellen, die aber zumeist zusätzlicher Erklärungen bedürfen.
size_type ist ein in der Standardbibliothek definierter ganzzahliger Typ. Welcher grundlegende Typ hierfür verwendet wird, legt der Hersteller dieser Bibliothek fest. size_type dürfte zumeist als (unsigned) int oder (unsigned) long definiert sein.
Die Methode swap erwartet einen Parameter vom Typ string&. Das & hinter string bedeutet, dass die Methode ein string-Objekt nicht als Kopie importiert, sondern als Original. Dies wird erreicht, indem die Anfangsadresse des Objektes im Arbeitsspeicher beim Aufruf übergeben wird. Diese Art der Übergabe nennt man eine Übergabe per Referenz. Beim Aufruf von swap brauchen Sie sich nicht darum zu kümmern. Diese Erklärung steht nur deshalb hier, damit Sie das & nicht zu sehr verunsichert.
Erstellen Sie ein Programm, welches einige der zuvor aufgeführten string-Methoden verwendet!
Die erwünschten Ausgaben entnehmen Sie bitte dem folgenden Screenshot!
Die Anfangswerte der beiden string-Objekte str1 und str2 sollten beim Anlegen zugeordnet werden
(Konstruktor). Es sind also keine Eingaben erforderlich. Die von ihrem Programm gelieferten
Ausgabedaten können teilweise andere Werte haben als diejenigen im Screenshot.
Andere Initialisierungsstrings müssen selbstverständlich teilweise andere Ausgaben
zur Folge haben.
Beispielzeile zur Ausgabe von str1:
cout << "str1: " << str1 << endl;