![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Syberex |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 15.9.2006 Где: Украина Репутация: нет Всего: нет |
необходимо после применения оператора new , увеличить объём массива, как это сделать не прибегая к сосданию второго массива больше первого и копирования содержимого, в функции alloc есть realloc, а в new есть что-то подобное?
--------------------
whole power in artificial intelligences |
|||
|
||||
| EvgenZ |
|
|||
![]() Freedom in me ![]() ![]() Профиль Группа: Участник Сообщений: 407 Регистрация: 3.8.2006 Репутация: 1 Всего: 11 |
-------------------- <удалено администрацией форума> |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 12 Всего: 459 |
Syberex, Если писать на билдере то динамические массивы создаваемые при помощи шаблона
template <class T> class DELPHIRETURN DynamicArray; берут эту работу на себя. Если использовать STL то есть шаблон Vector который тоже берет работу по удлиннению массива на себя. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Syberex |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 15.9.2006 Где: Украина Репутация: нет Всего: нет |
не хочу я этих надстроек, хочу низкоуровневое распределение.
Добавлено @ 10:53 все эти стл памяти хавают немерено и не следят да собой, поэтому хочу что-то вроде realloc для new --------------------
whole power in artificial intelligences |
|||
|
||||
| Kuvaldis |
|
|||
![]() механик-вредитель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1189 Регистрация: 16.6.2006 Где: Минск Репутация: 11 Всего: 61 |
Syberex,
Голословное заявление. Если бы это было так, то системном программировании сии конструкции бы не использовали Если знаешь такого дядьку как Страуструп, то должен прислушаться к его мнению: 1.6.1 Рекомендации для программистов на С ... [3] Не используйте malloc(). Оператор new делает то же самое лучше. Вместо realloc() пользуйтесь vector. ... Это последнее, 3 издание его главной книжки -------------------- Помни - когда ты спишь, враг не дремлет Спи чаще и дольше, изматывай врага бессоницей |
|||
|
||||
| Syberex |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 15.9.2006 Где: Украина Репутация: нет Всего: нет |
vector медленно работает
--------------------
whole power in artificial intelligences |
|||
|
||||
| Mayk |
|
||||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
Вот как раз STL'овские контейнеры следят за собой. А вот на выделенный new'ом блок кто-то должен сделать delete. Добавлено @ 12:44 Не медленнее обычного массива. Особенно при включенной оптимизации. А если хочется предотвратить копирования туда-сюда, то есть такая вещь как reserve.
-------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
||||
|
|||||
| codelord |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 777 Регистрация: 7.5.2005 Где: ты моя темноглаза я где?! Репутация: 1 Всего: 39 |
а может сделать финт конем
|
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
Это эквивалентно p[100]=j[0]. А это не многим отличается от p[-14265]=j[0]. Так как под 101-ый элемент памяти не выделено. Это сообщение отредактировал(а) Mayk - 8.12.2006, 13:07 -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: 8 Всего: 37 |
Ты думаешь ты так два участка памяти склеил? |
|||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 35 Всего: 60 |
мда... гениально... нет слов, действительно финт. |
|||
|
||||
| codelord |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 777 Регистрация: 7.5.2005 Где: ты моя темноглаза я где?! Репутация: 1 Всего: 39 |
это лишь желание развернуться на пустом месте. т.к. хочет автор. Ничто не мешает если не нравится 101 элемент указвыать на последний, т.е. 100 (хотя у меня компилит и ошибок вроде не выдает VS2005). А кто там говорит про гениальность пусть предлагает свои варианты. Без слов. нет |
|||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 35 Всего: 60 |
уже предложили std::vector А то что ты написал - бред |
|||
|
||||
| Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: 8 Всего: 37 |
codelord, это тебе так повезло, что оба массива расположились один за другим и Access violation поэтому нет, но этого же никто не гарантирует....
|
|||
|
||||
| codelord |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 777 Регистрация: 7.5.2005 Где: ты моя темноглаза я где?! Репутация: 1 Всего: 39 |
ты считаешь, что ты решаешь как надо автору топика? Он уже сказал что vector ему не нужен. По поводу бреда, не стоит выражаться.
да причем здесь как они расположились. это выходи программе везет сколько раз запускаю столько раз работает, что нет ни у кого студии под рукой. p.s. никому я не навязываю свое мнение, И НЕ НАДО ЭТО ДЕЛАТЬ МНЕ! |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |