So erstellen Sie einen Vektor von Strings in C ++

So erstellen Sie einen Vektor von Strings in C ++
So erstellen Sie einen Vektor von Strings in C++? Wenn die Liste der Zeichenfolgen kurz ist, ist eine sehr schnelle Möglichkeit, den Vektor zu erstellen, wie im folgenden Programm: #include
#enthalten
#enthalten
Verwenden von Namespace STD;

vectorvtr = "Donkey", "Ziege", "Katze", "Schwein", "Hund", "Kuh", "Schaf", "Pferd", "Wasserbüffel", "Red Fox";
Rückkehr 0;

Das Programm beginnt mit der Einbeziehung der iStream -Bibliothek, die für die Tastatureingabe benötigt wird, und die Ausgabe in das Terminal (Bildschirm). Darauf folgt die Einbeziehung der String -Bibliothek, die für das automatische Komponieren von Strings benötigt wird. Darauf folgt die Einbeziehung der Vektorbibliothek, die die Erstellung und Verwendung von Vektoren erleichtert. Danach ist eine Aussage, die darauf besteht, dass jeder Name, dem STD nicht vorausgeht, aus dem Standard -Namespace stammt. Dann gibt es die C ++ - Hauptfunktion im Code. Um einen Vektor von Strings zu haben, ist alle oben genannten Codeüberschriften erforderlich.

Die erste Aussage in der Funktion main () ist die Erstellung des Vektors VTR von Tiernamen. Es beginnt mit dem reservierten Wort, Vektor. Unmittelbar danach gibt es Angle -Klammern, die das Wort "String" haben. Hier ist „String“ eine Vorlagenparameterspezialisierung. Wenn es ein Vektor von Charakteren wäre, wäre „Char“ an der Stelle der „String“ gewesen; Wenn es ein Vektor von ganzen Zahlen wäre, wäre „int“ an der Stelle der „String“ gewesen; Wenn es ein Vektor von Floats wäre, wäre „Float“ an der Stelle der „String“ gewesen; usw.

Nach den Winkelklammern gibt es einen Raum und dann den Namen des vom Programmierer ausgewählten Vektors. Darauf folgt Platz, Zuordnung, Wiederer darauf, dann die Initializer_List, dann die Initializer_List. Die Initializer_List enthält die Namen (String -Literale) der Tiere; Jeder Name ist in Anführungszeichen. Wenn zwischen zwei Zitaten Platz vorhanden ist, wird dieser Raum Teil der entsprechenden Zeichenfolge. Initializer_List wird durch Zahnspangen abgegrenzt.

Diese Aussage ist eine Definition. Ohne den Zuordnungsoperator und die Initializer_List wäre die Anweisung nur eine Erklärung. Mit der Initializer_List wird die Anweisung zu einer Definition und ist immer noch eine Erklärung.

"Wie man einen Vektor von Strings in C ++ erstellt" bedeutet auch: "Was sind die unterschiedlichen Möglichkeiten, einen Vektor von Strings zu schaffen, in C++?”Die unterschiedlichen Möglichkeiten, einen Vektor von Strings in C ++ zu schaffen, sind ziemlich viele. Die am häufigsten verwendeten Wege werden in diesem Artikel veranschaulicht.

Beginnend mit einem leeren Vektor von Saiten

Ein leerer Vektor kann zuerst erstellt werden, bevor die Stringelemente hinzugefügt werden. Wenn ein Element in einen Vektor hinzugefügt wird, soll das Element in den Vektor gedrückt werden, da das Element auf der Rückseite eingefügt wird. Die folgende C ++ - Hauptfunktion zeigt, wie dies erledigt werden kann:

int main ()

vectorvtr;
vtr.push_back ("Eskey"); vtr.push_back ("Goat"); vtr.push_back ("cat"); vtr.push_back ("pig");
vtr.push_back ("Hund"); vtr.push_back ("kuh"); vtr.push_back ("Schaf"); vtr.push_back ("Pferd");
vtr.push_back ("Wasserbüffel"); vtr.push_back ("Red Fox");
Rückkehr 0;

Die erste Aussage schafft einen leeren Vektor von Strings. Jede der anderen Aussagen drückt eine Zeichenfolge in den Vektor. Beginnen Sie damit, um dies zu erreichen. Das Argument für die Funktion push_back ist entweder die Zeichenfolge buchstäblich oder die Kennung (Variable) für die Zeichenfolge Literal.

Erstellen mit Initializer_List

Eine Möglichkeit zum Erstellen mit Initializer_List ist wie zuvor gezeigt. Der andere Weg ist wie folgt:

int main ()

vectorvtr ("Donkey", "Ziege", "Katze", "Schwein", "Hund", "Kuh", "Schaf", "Pferd", "Wasserbüffel", "Red Fox");
Rückkehr 0;

Der Ausdruck,

Vektor VTR (Argumente)

ist ein Beispiel für einen Konstruktor. Diesmal befindet sich die Initializer_List in den Klammern des Konstruktors. Es gibt keinen Zuordnungsbetreiber in der Konstruktion (Schöpfung) des Vektors der Strings.

Erstellen mit Initializer_List -Kennung

In den obigen zwei Beispielen mit Initializer_List wurde das Literal der Initializer_List verwendet. Anstatt das buchstäbliche zu verwenden, kann auch die Kennung der Initializer_List verwendet werden. Im folgenden Code wird der Kennung eines Vektors (Initializer_List) dem neuen Vektor mit dem Zuordnungsbetreiber zugewiesen:

int main ()

vectoroldVector = "Eskey", "Ziege", "Katze", "Schwein", "Hund", "Kuh", "Schaf", "Pferd", "Wasserbüffel", "Red Fox";
vectornewVector = OldVector;
Rückkehr 0;

Die letzte, aber eine Aussage ist hier der Schlüsselvorstand.

Der folgende Code zeigt, wie die Kennung eines Vektors (Initializer_List) in den Klammern eines neuen Vektorkonstruktors verwendet wird:

int main ()

vectoroldVector = "Eskey", "Ziege", "Katze", "Schwein", "Hund", "Kuh", "Schaf", "Pferd", "Wasserbüffel", "Red Fox";
vectornewVector (OldVector);
Rückkehr 0;

Die Kennung kann auch die einer RValue -Referenz sein, wie im folgenden Code gezeigt:

int main ()

Vector && oldVector = "Donkey", "Ziege", "Katze", "Schwein", "Hund", "Kuh", "Schaf", "Pferd", "Wasserbüffel", "Red Fox";
vectornewVector (OldVector);
Rückkehr 0;

Beachten Sie die Verwendung und Position von &&.

Zuordnung () Mitgliedsfunktion

Die Vektorklasse hat eine Mitgliedsfunktion, die zugewiesen ist (). Das Argument ist eine Initializer_List (wörtlich). Nach dem Erstellen eines leeren Vektors kann die Funktion von Astromenten () () verwendet werden, um die ersten Elemente der Liste einzugeben, wie der folgende Code zeigt:

int main ()

vectorvtr;
vtr.zugewiesen ("Donkey", "Ziege", "Katze", "Schwein", "Hund", "Kuh", "Schaf", "Pferd", "Wasserbüffel", "Red Fox");
Rückkehr 0;

Wenn die Anzahl der Elemente bekannt ist

Wenn die Anzahl der Zeichenfolgen bekannt ist, kann sie in die Klammern des Konstruktors gesteckt werden. Wenn beispielsweise die Anzahl der Zeichenfolgen 10 beträgt, wird der Vektor mit 10 Standardstarrenwerten konstruiert. Der Standard -Zeichenfolgenwert ist die leere Zeichenfolge, "" ". Danach können die verschiedenen praktischen Zeichenfolgen an ihren entsprechenden Positionen unter Verwendung des Square Brackets (Index) Operators eingefügt werden. Siehe den folgenden Code:

int main ()

vectorvtr (10);
vtr [0] = "Eskey"; vtr [1] = "Goat"; vtr [2] = "cat"; vtr [3] = "Schwein";
vtr [4] = "Hund"; vtr [5] = "Cow"; vtr [6] = "Schaf"; vtr [7] = "Pferd";
vtr [8] = "Wasserbüffel"; vtr [9] = "Red Fox";
Rückkehr 0;

Standard -Vektor -Zeichenfolgewert

Der Standard -Zeichenfolgenwert ist die leere Zeichenfolge, "", die keinen Platz und keinen Zeichen hat. Ein leerer Vektor von Zeichenfolgen hat keinen Zeichenfolgenwert. Dies bedeutet, dass es auch keinen leeren Standard -Zeichenfolgenwert hat. Andererseits hat ein Vektor, der mit einer Reihe von Standardketten erstellt wurde. Der folgende Code zeigt, dass eine Standard -Vektor -Zeichenfolge ":": ":":

int main ()

Vektor vtr (10);
if (vtr [4] == "")
Cout << "seen" << endl;
Rückkehr 0;

Die Ausgabe ist "zu sehen" und bestätigt, dass eine Standard -Vektor -Zeichenfolge "" "" "".

Abschluss

Ein Stringsvektor wird so erstellt, wie ein Vektor eines anderen Typs erstellt wird. Denken Sie daran, die Vorlagenspezialisierung, Zeichenfolge, vorzunehmen. Vergessen Sie nicht, die String -Bibliothek und die Vektorbibliothek einzuschließen. Die gemeinsamen Möglichkeiten, Vektoren mit String als Elementtyp zu erstellen, wurden oben dargestellt.