C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Матрица указателей на объекты
SomewhereSomehow
Отправлено: 23.11.2004, 15:37


Ученик-кочегар

Группа: Участник
Сообщений: 18



Господа, пожскажите пожалуйста почему на прокатывает такая схема с сабжем:

CODE

TMyClass ***MyClass1;
MyClass1 = malloc(sizeof(TMyClass)*RowCount*ColCount);

for (int i =0; i < RowCount; i++)
 for (int j = 0; j < ColCount; j++)
 {
    MyClass1[i][j] = new TMyClass(Parametr);
 }
olegenty
Отправлено: 23.11.2004, 16:13


Ветеран

Группа: Модератор
Сообщений: 2412



мудрёно, звездей лишнего, естественно не прокатит smile.gif

vector < vector > 2DMyClassPtr;
или

TDynamicArray >;

да, и тебе не говорили, что malloc — это синоним bad? smile.gif
olegenty
Отправлено: 23.11.2004, 16:19


Ветеран

Группа: Модератор
Сообщений: 2412



имелось в виду

DynamicArray< DynamicArray > 2DTMyClassPtr;
SomewhereSomehow
Отправлено: 23.11.2004, 16:44


Ученик-кочегар

Группа: Участник
Сообщений: 18



маллок рулит =)

А если я не хочу использовать STL ? Какие еще есть варианты?
SomewhereSomehow
Отправлено: 23.11.2004, 18:16


Ученик-кочегар

Группа: Участник
Сообщений: 18



Всем спасибо, проблема решена! Кстати без СТЛь =)
Gedeon
Отправлено: 23.11.2004, 18:51


Ветеран

Группа: Модератор
Сообщений: 1742



Я не пойму чем это лучше использования std::vector поясните.
olegenty
Отправлено: 24.11.2004, 08:13


Ветеран

Группа: Модератор
Сообщений: 2412



ну хочет человек попрактиковаться полоьзоваться отладчиком (за 15 минут до сдачи проекта). может ему острые ощущения нравятся.
SomewhereSomehow
Отправлено: 24.11.2004, 12:24


Ученик-кочегар

Группа: Участник
Сообщений: 18



Про STL это идеологический вопрос! =)
Konstantine
Отправлено: 24.11.2004, 13:39


Мастер участка

Группа: Модератор
Сообщений: 545



ну не знаю... мне, допустим, эти библиотеки не нравятся — вот чё, не знаю, но душа не лежит к ним..., может то что Я больше склонен к простым операция, и делать из них именно ТО, что МНЕ нада... (кстати, Асм мне не нравится — слишком низко smile.gif )
что касается кода в начале темы, то там единственный непорядок — это malloc, вместо которого следовало бы написать:
CODE
MyClass1 = new TMyClass** [ColCount];
for (int j = 0; j < ColCount; j++)
  MyClass1[i] = new TMyClass* [RowCount];
возвожно так и было сделано, но ИМХО нада бы написать решение, даже если разобрался сам... есть вопрос — должен быть и ответ

Вернуться в Вопросы программирования в C++Builder