Мы пытаемся использовать 2D-вектор, потому что нам нужен 2D-массив, который будет динамически расти.
Мы попробовали это:
В объявлении класса:
vector<vector<double> > table;
Но тогда таблица, кажется, не распределена. Мы получаем ошибку, когда пытаемся получить доступ к членам.
Итак, мы попробовали это:
Объявление класса:
vector<vector<double> >* table;
Конструктор:
table = new vector<vector<double> >;
Но теперь мы так, как мы обращались к нему раньше (с [] []), не работают.
Мы попробовали фиктивный класс с этим:
class myClass {
public:
myClass();
~myClass();
vector<vector<double> > t;
};
myClass::myClass()
{
t = vector<vector<double> > (10, vector<double>(10));
}
Но он не освободился должным образом, и мы получили дампы ядра. Кроме того, когда мы пытались увеличить массив, нам приходилось явно строить каждую новую строку.
Ex:
t[50] = vector<double>(5);
t[50][10] = 10;
Если бы мы не делали так, мы бы получили ошибку