1String concept
² String est le type de chaîne de STL et est généralement utilisé pour représenter des chaînes. Avant d'utiliser la chaîne, les chaînes étaient généralement représentées par char*. string et char* peuvent être utilisés pour représenter des chaînes, alors quelle est la différence entre eux ?
Comparaison de string et char*
² String est une classe, char* est un pointeur vers un caractère.
string encapsule char* et gère cette chaîne comme un conteneur de type char*. La chaîne
² n'a pas besoin de prendre en compte la libération de mémoire et les limites.
string gère la mémoire allouée par char*. Chaque fois qu'une chaîne est copiée, la valeur est conservée par la classe de chaîne. Il n'y a pas lieu de s'inquiéter de la copie hors limites et de la valeur hors limites.
² string fournit une série de fonctions d'opération de chaîne (cela sera discuté en détail plus tard)
trouver, copier, supprimer, effacer, remplacer, insérer
Constructeur de 2string
² Constructeur par défaut :
string( //Construit une chaîne vide string s1.
² Copier le constructeur :
string(const string &str); //Construit une chaîne identique à str. Tels que strings1(s2).
² Constructeur avec paramètres
string(const char *s); //Initialiser avec une chaîne s
string(int n,char c); caractères c
Opérations sur les caractères d'accès à 3 chaînes
² Opérations sur les caractères de classe de chaîne :
const char &operator[] (int n) const; const char &at(int n) const; char &operator[] (int n); char &at(int n);
² Les deux opérateurs[ ] et at() renvoient le nième caractère de la chaîne actuelle, mais il existe une différence entre eux.
La principale différence est que at() lèvera une exception lorsqu'il sort des limites, [] renverra (char)0 lorsqu'il sort des limites et lorsqu'il continue de sortir des limites. limites, le compilateur fera directement une erreur. Si votre programme espère intercepter les exceptions via try and catch, il est recommandé d'utiliser at().
4 Opérations pour obtenir const char* à partir d'une chaîne
² const char *c_str() const //Renvoie une chaîne avec '