Je souhaite stocker un grand vecteur de d-dimensionnelle des points de (d immobilisations et les petits: <10).
Si je définis Point
comme vector<int>
, je pense qu'un vector<Point>
serait de stocker dans chaque position d'un pointeur vers un Point.
Mais si définir une Point
fixe de la taille de l'objet, comme:
std::tuple<int,int,...,int>
ou std::array<int, d>
,
le programme de stocker tous les points de la mémoire contiguë ou le niveau supplémentaire d'indirection rester?
Dans le cas où la réponse est que les tableaux d'éviter l'indirection supplémentaire, cela pourrait avoir un impact important sur les performances (cache exploiter la localité) lors de la numérisation de l' vector<Point>
?