У меня есть свой класс, в котором одно из полей — указатель на двумерный массив типа double:
double* pX[3];
...
MyClass::MyClass(int n){
pX[0] = new double[n];
...
}
Вот, мне нужно хранить неопределенное число таких объектов, поэтому я выбрал std::list<MyClass>;
Но, когда потом я извлекаю их из такого списка, оказывается, что то, что лежит в массиве pX, не соответствует тому, что я туда писал перед тем, как поместить объект в список. Проще говоря, там лежит мусор. Вопрос: стандартные списки не умеют хранить динамические данные? И как решить такую проблему: надо хранить неопределенное число объектов, у которых есть динамические данные, как это сделать?
Заранее благодарен.
Здравствуйте, sa83, Вы писали:
S>У меня есть свой класс, в котором одно из полей — указатель на двумерный массив типа double:
S>S>double* pX[3];
S>...
S>MyClass::MyClass(int n){
S> pX[0] = new double[n];
S> ...
S>}
S>
S>Вот, мне нужно хранить неопределенное число таких объектов, поэтому я выбрал std::list<MyClass>;
S>Но, когда потом я извлекаю их из такого списка, оказывается, что то, что лежит в массиве pX, не соответствует тому, что я туда писал перед тем, как поместить объект в список. Проще говоря, там лежит мусор. Вопрос: стандартные списки не умеют хранить динамические данные? И как решить такую проблему: надо хранить неопределенное число объектов, у которых есть динамические данные, как это сделать?
S>Заранее благодарен.
а конструктор копирования у твоего класса есть?
Спасибо всем за подсказку.Дело в том, что я плохо знаю C++, только осваиваю, поэтому я просто не знал, что их нужно обязательно определить.