Dwuwymiarowa tablica vector

0

Witam.
Chcę stworzyć dwuwymiarową tablicę obiektów vector lub list, ale po wielu próbach się nie udaje. Wiem że to forum dla "dobrych". Wiem też że taki problem - to nie problem, ale szukałem wszędzie i nigdzie nie znalałem. Nie chodzi o tablicę, jaką jest vector, ale normalną dwuwymiarową tablicę wskaźników do obiektów klasy vector, list. Potrzebne mi jest dynamiczne operowanie na tablicy dwuwymiarowej zawierającej kontener. Próbowałem normalnym podejściem, tak jak się traktuje normalny obiekt ale nie działa. Używam Visual Studio 2008 Express.

0

Dwuwymiarowa tablicy wskaźników, to tak:

std::vector<T> ***cokolwiek;

I zabawa z new.

Tak będziesz miał dwa "wymiary" i każdy element będzie wskaźnikiem.

#include <vector>
 
int main() {
  const size_t N = 3;
 
  std::vector<int> ***omg = new std::vector<int> ** [N];
 
  for (size_t i = 0; i < N; ++i) {
    omg[i] = new std::vector<int> * [N];
 
    for (size_t j = 0; j < N; ++j) {
      omg[i][j] = new std::vector<int>;
    }
  }
 
  omg[0][0]->push_back(10);
  
  // I dalej co tam chcesz, nie zapomnij o delete.
 
  return 0;
}
0

To mi wychodziło, tylko co potem? Jak chciałem je obsłużyć przez new a potem wywołać metody (m.in push_back), to zwracał kompilator, brak czegokolwiek przed metodą...
Edit:
Nie o dokładnie to mi chodziło, ale BARDZO pomogło.

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