Vektorspeicher in C ++

Ich möchte einen großen Vektor von d-dimensionalen Punkten speichern (d fest und klein: <10).

Wenn ich ein @ definiePoint wievector<int>, Ich denke einvector<Point> würde an jeder Position einen Zeiger auf einen Punkt speichern.

Aber wenn Sie ein @ definierPoint als Objekt mit fester Größe wie:std::tuple<int,int,...,int> oderstd::array<int, d>, speichert das Programm alle Punkte im zusammenhängenden Speicher oder bleibt die zusätzliche Indirektionsebene erhalten?

Wenn die Antwort lautet, dass Arrays die zusätzliche Indirektion vermeiden, kann dies einen großen Einfluss auf die Leistung (Cache-Exploit-Lokalität) beim Scannen des @ -Systems habevector<Point>?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage