Inserer un objet dans un vecteur d`objet
Résolu/Fermé
narymene
-
12 sept. 2021 à 22:43
narymene Messages postés 4 Date d'inscription dimanche 12 septembre 2021 Statut Membre Dernière intervention 15 septembre 2021 - 14 sept. 2021 à 22:20
narymene Messages postés 4 Date d'inscription dimanche 12 septembre 2021 Statut Membre Dernière intervention 15 septembre 2021 - 14 sept. 2021 à 22:20
A voir également:
- Inserer un objet dans un vecteur d`objet
- Vente objet occasion entre particulier - Guide
- Insérer une vidéo dans powerpoint - Guide
- Identifier un objet à partir d'une photo - Guide
- Insérer signature word - Guide
- Insérer un filigrane word - Guide
2 réponses
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
Modifié le 14 sept. 2021 à 17:15
Modifié le 14 sept. 2021 à 17:15
Bonjour,
Il faudrait nous en dire un peu plus sur le type utilisé pour
Si c'est un "tableau" standard (comme en C), cela dépend de la taille que tu as allouée (e.g. avec
S'il s'agit d'un
Exemple :
Résultat :
Ensuite, il faudrait voir ce que fait ton programme, car ça n'est pas clair si
Il faudrait nous en dire un peu plus sur le type utilisé pour
population.
Si c'est un "tableau" standard (comme en C), cela dépend de la taille que tu as allouée (e.g. avec
newou
malloc). S'il y a suffisamment de place allouée, tu peux décaler les éléments "d'une case" après l'index d'insertion avec
memcpy, puis insérer ton élément à l'index choisi. Sinon il faudra faire une ré-allocation mémoire. Bref, c'est plus compliqué.
S'il s'agit d'un
std::vector(voir la STL), tu peux utiliser la méthode
insert.
Exemple :
#include <iostream> #include <ostream> #include <vector> // Écrit le contenu d'un vecteur template <typename T> std::ostream & operator << (std::ostream & out, const std::vector<T> & v) { out << '['; // C++ moderne for (const T & x : v) { out << ' ' << x; } /* // Anciennes versions de C++ for (typename std::vector<T>::const_iterator it = v.begin(); it != v.end(); it++) { out << ' ' << *it: } */ out << ']'; return out; } int main(){ using namespace std; // C++ moderne vector<int> v = {10, 20, 30, 40}; /* // Anciennes versions de C++ vector<int> v(4); v[0] = 10; v[1] = 20; v[2] = 30; v[3] = 40; */ vector<int>::iterator it = v.begin() + 3; v.insert(it, 35); cout << v << endl; return 0; }
Résultat :
(mando@silk) (~) $ g++ toto.cpp
(mando@silk) (~) $ ./a.out
[ 10 20 30 40]
[ 10 20 30 35 40]
Ensuite, il faudrait voir ce que fait ton programme, car ça n'est pas clair si
std::vectorest le container le plus adéquat. Selon ce que fait ton programme, utiliser
std::setou
std::listpeut-être plus approprié.
Dalfab
Messages postés
706
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
2 novembre 2023
101
14 sept. 2021 à 21:08
14 sept. 2021 à 21:08
Bonjour,
Il faut préciser ce qui te pose des problèmes. Par exemple, le code
Il faut préciser ce qui te pose des problèmes. Par exemple, le code
population[i] = AG();peut fonctionner. Si c'est le problème, il nous faut plus de données concrètes pour te répondre.
narymene
Messages postés
4
Date d'inscription
dimanche 12 septembre 2021
Statut
Membre
Dernière intervention
15 septembre 2021
14 sept. 2021 à 22:20
14 sept. 2021 à 22:20
merci bien, j`ai regle le probleme
14 sept. 2021 à 22:20