Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung der C++-Überprüfungspunkte z-12 – STL-Zeichenfolge

Zusammenfassung der C++-Überprüfungspunkte z-12 – STL-Zeichenfolge

黄舟
黄舟Original
2017-01-16 11:55:571328Durchsuche

1String-Konzept

² String ist der String-Typ von STL und wird normalerweise zur Darstellung von Strings verwendet. Vor der Verwendung von Strings wurden Strings normalerweise durch char* dargestellt. Sowohl string als auch char* können zur Darstellung von Strings verwendet werden. Was ist also der Unterschied zwischen ihnen?

Vergleich von string und char*

² String ist eine Klasse, char* ist ein Zeiger auf ein Zeichen.

string kapselt char* und verwaltet diesen String als Container vom Typ char*.

² Zeichenfolge muss keine Speicherfreigabe und außerhalb der Grenzen berücksichtigen.

string verwaltet den durch char* zugewiesenen Speicher. Jedes Mal, wenn eine Zeichenfolge kopiert wird, wird der Wert von der Zeichenfolgenklasse beibehalten, sodass Sie sich keine Sorgen über das Kopieren außerhalb der Grenzen oder Werte außerhalb der Grenzen machen müssen.

² string bietet eine Reihe von String-Operationsfunktionen (dies wird später ausführlich besprochen)

Suchen, Kopieren, Löschen, Löschen, Ersetzen, Einfügen

Konstruktor von 2string

² Standardkonstruktor:

string(); //Erstelle einen leeren String string s1.

² Kopierkonstruktor:

string(const string &str); //Konstruiere einen String, der mit str identisch ist. Zum Beispiel strings1(s2).

² Konstruktor mit Parametern

string(const char *s); //Initialisieren mit string s

string(int n,char c); // Initialisieren mit n Zeichen c

3 Zeichenfolgenzugriffszeichenoperationen

² Zeichenfolgenklassenzeichenoperationen:

const char &operator[] (int n) const;
const char &at(int n) const;
char &operator[] (int n);
char &at(int n);

² Beide Operatoren[ ] und at() geben das n-te Zeichen in der aktuellen Zeichenfolge zurück, es gibt jedoch einen Unterschied zwischen ihnen.

Der Hauptunterschied besteht darin, dass at() eine Ausnahme auslöst, wenn es außerhalb der Grenzen liegt, [] (char)0 zurückgibt, wenn es zufällig außerhalb der Grenzen liegt und wenn es weiterhin außerhalb der Grenzen liegt Grenzen, wird der Compiler direkt einen Fehler machen. Wenn Ihr Programm Ausnahmen durch Try and Catch abfangen möchte, wird die Verwendung von at() empfohlen.

4 Operationen zum Abrufen von const char* aus einem String

² const char *c_str() const; //Gibt einen String zurück, der mit ' beginnt;

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn