vector<tablica> - w pamięci

0

Hey, mam taką wątpliwość: jeśli mam vector składający się z N elementowych tablic statycznych tj. np. vector<int[3]>tab(10) to w jaki sposób będzie to zapisane w pamięci? czy to będzie jedna długa tablica o rozmiarze 3x10=30 elementów, czy to będzie jakoś porozrzucane w pamięci czy jak?
Chodzi mi o to, co jest bardziej wydajne: taki zapis jak wyżej czy 3 vectory<int>?
Z góry dzięki za pomoc.

0

Wewnętrznie vector przechowuje dane jako zwykłą tablicę, więc są w pamięci po kolei, ale nie da się utworzyć wektora tablic. W zamian można użyć wektor wektorów.

0
mad_penguin napisał(a):

ale nie da się utworzyć wektora tablic. W zamian można użyć wektor wektorów.

Jak się nie da jak się da? Przecież to jest w zasadzie coś w stylu: int[3]* wsk = new (int[3])[10];
Wektor wektorów jest na pewno mniej wydajny -> pamięć każdego pod-wektora może być dowolnie porozrzucana...

0

Nie da się utworzyć tego o co pyta autor, bo zwykła tablica nie spełnia wymagań jakie są narzucone na elementy vectora. - Sopelek 10 minut temu

@Sopelek U mnie w VS 2013 jakoś to działa.
O jakich wymaganiach piszesz?

0

@Sopelek faktycznie. A w takim razie czy na pewno array to spełnia? Bo w końcu to praktycznie to samo co tradycyjna tablica (?)

1 użytkowników online, w tym zalogowanych: 0, gości: 1