Векторное хранилище в C ++

Я хочу хранить большой вектор d-мерных точек (фиксированные d и маленькие: <10).

Если я определюPoint какvector<int>Я думаюvector<Point> будет хранить в каждой позиции указатель на точку.

Но если определитьPoint как объект фиксированного размера, такой как:std::tuple<int,int,...,int> или жеstd::array<int, d>Программа сохранит все точки в смежной памяти или дополнительный уровень косвенности останется?

Если ответ заключается в том, что массивы избегают дополнительной косвенности, может ли это сильно повлиять на производительность (локальность эксплойта кэша) при сканированииvector<Point>?

Ответы на вопрос(5)

Ваш ответ на вопрос