![]() |
|
Модераторы: bsa |
![]()
|
|
| toxx |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 4 Всего: 13 |
Хммм... компилятор перестал выдавать ошибки crtexe.c
я уже даже вектор нарисовал на бумажке до и после увеличения для:
|
||||
|
|||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
компилятор проверяет корректность , а не логичность.. |
|||
|
||||
| toxx |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 4 Всего: 13 |
Как сложно делать вещи логичными оказывается.... 1.тут я делаю чтобы ёмкость у изменяемого вектора была new_size*2;
2.Так вродебы это не прямая рекурсия, а косвенная...какие слова я знаю ухх 3.Пока я был уверен что я прав в предыдущем посте... набросал функцию push_back(уже боюсь что тут что-то я не логично сделал, но я старался быть таковым)
4.Мне нужна будет сортировка массива, вношу быструю сортировку с разделением
Это сообщение отредактировал(а) toxx - 3.4.2010, 23:51 |
||||||||
|
|||||||||
| mes |
|
||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
что за удаление/создание внутри push_backa? Добавлено через 7 минут и 40 секунд вопрос не в том что Вы делаете, а для чего изменяете переменную того объекта, который Вам больше не понадобится ?
ну а что меняет ?
сортировка не является методом вектора.. Она должна быть внешней функцией. |
||||
|
|||||
| toxx |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 4 Всего: 13 |
блин, вот и блин... А рекурсия не идет в методе?или я совсем чтото затупил... Это сообщение отредактировал(а) toxx - 4.4.2010, 00:12 |
||||
|
|||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
прежде всего будьте проще :
Это сообщение отредактировал(а) mes - 4.4.2010, 00:25 |
|||
|
||||
| toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 4 Всего: 13 |
Про сортировку понял... Добавлено @ 00:30 у меня reserve нету =( ну у меня тоже красиво выгрядит push_back... я себя прям чувствую совсем бесполезным на фоне вашей логики=( А можно хотябы пузырьковую как метод добавить?или одельно только совсем? Это сообщение отредактировал(а) toxx - 4.4.2010, 00:32 |
|||
|
||||
| mes |
|
||||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
Добавлено @ 00:33 ну так кто мешает добавить ? Добавлено @ 00:39
Добавлено @ 00:40 к сожалению не моей.. я ее когда-то подсмотрел ) Добавлено @ 00:41
зачем его как метод добавлять ? Добавлено @ 00:42 P.S. код писал здесь и не проверял..к тому же сейчас ночь - могут быть ошибки.. я просто передавал суть.. так что внимательней Это сообщение отредактировал(а) mes - 4.4.2010, 10:21 |
||||||
|
|||||||
| toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 4 Всего: 13 |
Добавлено @ 00:50
mes Охх спасибо за эти советы вроде бы разобрался в том что вы скинули... код вродебы простой, но меня не посещают пока такие строки =( ...Пока разбирался и искал что такое reserve() вы ушли =) Это сообщение отредактировал(а) toxx - 4.4.2010, 01:36 |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
reserve() отвечает за capacity resize() отвечает за size на будущее, если захотите вектор довести до ума, то еще неплохо бы посмотреть, на функции uninitialized_copy и uninitialized_fill http://cplusplus.com/reference/std/memory/...itialized_copy/ http://cplusplus.com/reference/std/memory/...itialized_fill/ и разобраться что представляет из себя аллокатор http://cplusplus.com/reference/std/memory/allocator/ Это сообщение отредактировал(а) mes - 4.4.2010, 10:30 |
|||
|
||||
| toxx |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 4 Всего: 13 |
Да я всё нашел И еще у вас в коде я увидел некоторые, я бы сказал для себя фишки например 1.
как я понимаю это отсюда
Но в чем отличие?Для себя я уяснил что это тоже самое, как для любого типа занулить? только почему не (*this)[m_size++] = T, а именно Т()? 2. в этойже строчке (*this)[m_size++] m_size++ увеличивается прям в []? вродебы как пост инкремент... Сам я боюсь использовать такую конструкцию, боюсь что неверный результат будет стараюсь делать это за квадртаными скобками. Еще нашел, что приоритет у [] выше чем у m_size++, получается что выполняется сначала в цикле для m_size а в следующем цикле для увеличенного m_size на 1. |
||||||
|
|||||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
ну так а в чем отличие к примеру между int и int() знаете ? в одном случае имя типа, а в другом создание объекта.
"не уверен не обгоняй" © - пока делайте за скобками, как прочувствуете эту операцию, перестанете бояться приоретет сказывается на разбор команды, но не на ее выполнение. Особенность постинкремента (а также постдекремента) в том, что результатом будет значение до его изменения.. |
|||
|
||||
| toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 4 Всего: 13 |
Проверил все эти новшества на своём дереве, что-то перемудрили походу с функциями
resize() reserve() mes p.s. скажите, пожалуйста только за что отвечает эта ошибка? Ошибка |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
она говорит о том, что выходите за границы памяти.. т.е пишите не куда положено... ну показывайте код вектора, посмотрим чего там перемудренно |
|||
|
||||
| toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 4 Всего: 13 |
mes
Только не говорите пожалуйста, я сам попробую
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |