Inserer un objet dans un vecteur d`objet
Résolu
narymene
-
narymene Messages postés 4 Statut Membre -
narymene Messages postés 4 Statut Membre -
Bonjour,
j`ai un problème avec un tableau d objet qui s`appelle population de type AG (MA classe s`appelle AG), alors je veux que chaque élément du tableau (population [i] = AG();) comment je peux le mettre en place ? merci bien d`avance, excellente journée.
j`ai un problème avec un tableau d objet qui s`appelle population de type AG (MA classe s`appelle AG), alors je veux que chaque élément du tableau (population [i] = AG();) comment je peux le mettre en place ? merci bien d`avance, excellente journée.
A voir également:
- Inserer un objet dans un vecteur d`objet
- Insérer vidéo dans powerpoint - Guide
- Vente objet occasion entre particulier - Guide
- Insérer un espace insécable dans word - Guide
- Identifier un objet à partir d'une photo - Guide
- Insérer signature word - Guide
2 réponses
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é.
narymene
Messages postés
4
Statut
Membre
merci pour votre reponse, j'ai regle le probleme