Maison > développement back-end > C++ > Comment puis-je simplifier l'initialisation std::vector en C ?

Comment puis-je simplifier l'initialisation std::vector en C ?

Barbara Streisand
Libérer: 2024-12-25 13:01:09
original
394 Les gens l'ont consulté

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

Simplification de l'initialisation std::vector

Lorsque vous travaillez avec des tableaux en C, l'initialisation est souvent simple :

int a[] = {10, 20, 30};
Copier après la connexion

Cependant, l'initialisation d'un std::vector peut être plus fastidieuse en utilisant push_back() méthode :

std::vector<int> ints;

ints.push_back(10);
ints.push_back(20);
ints.push_back(30);
Copier après la connexion

Solution C 11 (avec support)

Si votre compilateur prend en charge C 11, vous pouvez utiliser des listes d'initialisation :

std::vector<int> v = {1, 2, 3, 4};
Copier après la connexion

Ceci est disponible dans les versions 4.4 et supérieures de GCC.

Option alternative (avec Boost.Assign)

Pour les compilateurs plus anciens, la bibliothèque Boost.Assign propose une solution non macro :

#include <boost/assign/list_of.hpp>
...
std::vector<int> v = boost::assign::list_of(1)(2)(3)(4);
Copier après la connexion

Ou, en utilisant les opérateurs de Boost.Assign :

#include <boost/assign/std/vector.hpp>
using namespace boost::assign;
...
std::vector<int> v;
v += 1, 2, 3, 4;
Copier après la connexion

Gardez à l'esprit que Boost.Assign peut avoir une surcharge de performances par rapport à l'initialisation manuelle.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal