Bonjour à tous
J'ai besoin dans un programme d'utiliser un tableau contenant une liste d'objets.
La solution que j'utilise actuellement est la suivante
Donc j'ai ici un tableau 2D qui contient pour chaque case un vector d'objets MonObjet. (L'utilisation d'un tableau 2D est faite d'un point de vue logique car c'est en rapport avec une image, mais je peux tout à fait envisager un tableau 1D, de même pour vector).// déclaration
boost::multi_array<std::vector<MonObjet>, 2> MaListe( boost::extents[L][H]);
// init
std::vector<MonObjet> vec(N);
std::fill( MaListe.data(), MaListe.data() + MaListe.num_elements(), vec);
Le problème est que j'ai dans ma fonction un nombre très important d'accès à cette structure(pour modifier un un élément du vector d'une case), et de plus je doit trier mon vector à chaque fois (de la case correspondante).
Le temps est trop important pour cette appli (cela augmente le temps de 110ms environ).
Je cherche donc tout autre moyen de stocker mes Objets, qui permette un accès le plus rapide possible.
J'espère que quelqu'un aura une petite piste pour m'aiguiller.
Merci d'avance
Partager