![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
HexoGenus |
|
|||
![]() Шустрый ![]() Профиль Группа: Экс. модератор Сообщений: 110 Регистрация: 28.8.2002 Где: Ростов-на-Дону Репутация: нет Всего: нет |
Тут поднимался вопрос как динамически расширить массив char
для этих целей удобнее всего использовать тип String ведь он уже содержит все возможности необходимые для работы со строками
и не вижу смысла изобретать велосипед... String уже включен в наши программы если вы использовали хотя бы один визуальный компонент его содержащий (а на кой ладан нам билдер если не использовать визуальные компоненты?) и в итоге память под String в программе уже отведена и его использование будет не намного растратнее использования char (или нет ![]() Кстати мне интересно все ли тут смотрели в HELP описание методов String? Если нет то очень рекомендую... (F1->В поиске задать "AnsiString data type"->в этом тексте выбрать Reference) Теперь сам вопрос... Нет ли в VCL Чего_то_похожего на String но унифицирующего работу не с char-массивами а с массивами числовых типов или к примеру списков Хэндлов ![]() --------------------
Когда невозможно уже работать напряженнее, начни работать умнее. |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
Ты конецчно прав, и оно конечно работает, вот только я думаю что тебе неплохо былобы еще и поэксперементировать с тем что ты придумал, посмотреть как куски памяти перебрасываються, как долго работает твой вариант и т.д и т.п. Тогда и поймеш зачем изобретать велосипед...
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: 8 Всего: 12 |
Уж не знаю, есть ли в билдере такое чудо... но вообще вот: CArray <DWORD> m_hWindows;
-------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: 2 Всего: 22 |
не ну если есть String, да еще и с c_str()
знамо STL, знамо стринг определяется как typedef basic_string<char> string; тоесть то что тебе нуна: basic_string<DWORD> strdw; basic_string<HANDLE> strhd; |
|||
|
||||
mavrik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 5.1.2003 Репутация: нет Всего: нет |
String - это такая тормозная вещь
В файл менеджере уменьшала загрузку списка файлов в 4 раза за ед времени Перераспределение памяти даже тогда когда не надо |
|||
|
||||
HexoGenus |
|
|||
![]() Шустрый ![]() Профиль Группа: Экс. модератор Сообщений: 110 Регистрация: 28.8.2002 Где: Ростов-на-Дону Репутация: нет Всего: нет |
Хммммм.... а не наоборот ![]() Сначала нужно понять нужно ли это, а уже потом экспериментировать... Сам посуди: 1. Я точно знаю что тем ребятам которые писали Билдер я скорее всего в подметки не гожусь и свои функции для работы со строками мне скорее всего лучше чем они не написать (да и зачем мне это, ведь я не участвую в написании новых языков программирования а платят мне за написание новых программ)... 2. Если я могу использовать сишные библиотечные функции для объединения строк, динамического увеличения размера массива, поиска в строке и т.д. то есть те функции которые "как тебе кажется" будут работать быстрее чем встроенные функции String то откуда ты знаешь что сотрудники Borland не знали про эти функции (учитывая что для C++ они их и писали) и не догадались в классе String использовать их же? 3. Использовать вставки на ассемблере для для улучшенной обработки строк ![]() ![]() И скажем так даже если я изобрету этот велосипед... то кто это заметит ![]() Ты думаешь что скорость обработки текстовых строк это основной фактор определяющий конкурентоспособность приложения для Windows? Представь картину, приходит покупатель в фирму торгующую бухгалтерскими программами и спрашивает: "Дайте мне самую быструю бухгалтерскую программу"... PS: Хотя кто его знает может именно так думал дядя Билли когда писал свою операционку :-) PPS: Есть у кого нибудь добротное русское человеческое описание как работать со строками при помощи String ? (А то обидно будет написать его а потом выяснить что кто то уже это сделал) ![]() --------------------
Когда невозможно уже работать напряженнее, начни работать умнее. |
|||
|
||||
HexoGenus |
|
|||
![]() Шустрый ![]() Профиль Группа: Экс. модератор Сообщений: 110 Регистрация: 28.8.2002 Где: Ростов-на-Дону Репутация: нет Всего: нет |
Не можешь дать образцы кода из твоего файл менеджера тот который с char и тот который со String... Очень хотелось бы протестировать... может получится что-нибудь ускорить используя String :-)))))) --------------------
Когда невозможно уже работать напряженнее, начни работать умнее. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |