J'ai un type comme celui-ci:Vecteur de Type à Tableau de Type :: Membre?
class Foo {
public:
int bar[3];
/*Possibly some other members in here*/
};
Qu'est-ce qu'un moyen efficace d'obtenir un std:vector<Foo>
à un tableau de int
? Le tableau doit être un mappage séquentiel de bar
le Foos
du vecteur.
Est-ce suffisant?
int* array = new int[foos.size() * 3];
int offset = 0;
BOOST_FOREACH(Foo& f, foos) {
memcpy(array + offset, f.bar, sizeof(int) * 3);
offset += sizeof(int) * 3;
}
Ou est-il une meilleure façon?
Je suis confus ... vous demandez d'obtenir un vecteur mais vous utilisez ':: operator new' pour allouer un tableau? –
Non. Je demande un tableau. Il doit aller à une librairie tierce qui attend un tableau d'ints. – Anthony