Heim > Backend-Entwicklung > C++ > Wie kann ich die std::vector-Initialisierung in C vereinfachen?

Wie kann ich die std::vector-Initialisierung in C vereinfachen?

Barbara Streisand
Freigeben: 2024-12-25 13:01:09
Original
394 Leute haben es durchsucht

How Can I Simplify std::vector Initialization in C  ?

Vereinfachung der std::vector-Initialisierung

Bei der Arbeit mit Arrays in C ist die Initialisierung oft unkompliziert:

int a[] = {10, 20, 30};
Nach dem Login kopieren

Allerdings kann die Initialisierung eines std::vector mit push_back() umständlicher sein. Methode:

std::vector<int> ints;

ints.push_back(10);
ints.push_back(20);
ints.push_back(30);
Nach dem Login kopieren

C 11-Lösung (mit Unterstützung)

Wenn Ihr Compiler C 11 unterstützt, können Sie Initialisierungslisten verwenden:

std::vector<int> v = {1, 2, 3, 4};
Nach dem Login kopieren

Dies ist in den GCC-Versionen 4.4 und höher verfügbar.

Alternative Option (mit Boost.Assign)

Für ältere Compiler bietet die Boost.Assign-Bibliothek eine Nicht-Makro-Lösung:

#include <boost/assign/list_of.hpp>
...
std::vector<int> v = boost::assign::list_of(1)(2)(3)(4);
Nach dem Login kopieren

Oder mit den Operatoren von Boost.Assign:

#include <boost/assign/std/vector.hpp>
using namespace boost::assign;
...
std::vector<int> v;
v += 1, 2, 3, 4;
Nach dem Login kopieren

Beachten Sie, dass Boost.Assign im Vergleich zur manuellen Initialisierung zu Leistungseinbußen führen kann.

Das obige ist der detaillierte Inhalt vonWie kann ich die std::vector-Initialisierung in C vereinfachen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage