Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Создание двумерного массива


Автор: Cheshuya 17.11.2005, 11:04
Добрый день.
Вот такой вот вопрос


Создал строковый двумерный массив.
Как мне определить его размерность вот в этой строке? //char ** ch = new char*[100]; чтобы не фиксированно 100 было.
AnsiString Param=" ";//по ходу выполнения программы этой переменной присваивается символьное значение.
...............
char ** ch = new char*[100];
for(int i=0; i<4; i++)//счетчик на 4 строки
{ ch[i] = new char[Param.Length()+1];//определю размер строки
}
.....
//ну и удаляю его конечно же

Автор: Neitron 17.11.2005, 11:55
Cheshuya
Используй vector из STL
Проблем меньше будет.
А если тебе нужна строка используй std::string из STL

Автор: Cheshuya 17.11.2005, 12:11
да проблем будет меньше но производительность упадет
нехочу связываться с векторами и листами.
просто этот код будет в потоке работать(а там чем быстрее тем лучше)
Вернее это на самый последний момент(если ничего не придумаю или никто не подскажет)

Автор: Dark Elf 17.11.2005, 12:36
Контейнеры STL тоже достаточно производительны, а кроме того код написанный с их/помощью намного легче модифицировать/поддерживать

Автор: Neitron 17.11.2005, 12:47
Всегда препочитайте STL своим алгоритмам.
STL продумывались очень тщательно, и с большей оптимитизацией алгоритма, чем может порой себе позволить программист.

Автор: Mayk 17.11.2005, 12:48
Согласен с Neitron'ом иDark Elf'ом.
Отказвшись от STL и переписав написав всё самому, ты навряд ли получишь значимый прирост в скорости. Всё равно поток будет заниматься еще чем-нибудь кроме как выделения памяти, и быть может стоит оптимизировать что-то другое? Пробеги профилером и посмотри в конце концов, так ли плох stl.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)