![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
__ilya__ |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 57 Регистрация: 19.1.2012 Пользователь №: 3143 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Как вставить один вектор в конец другого.
Как в vector с помощью insert не получается
как-то так можно со стандартным вектором. С QVector не получается, пишет -нет такого прототипа использую Qt4.8 Сообщение отредактировал __ilya__ - 10.2.2013, 22:54 |
|
|
![]() |
Авварон |
![]()
Сообщение
#2
|
![]() Студент ![]() Группа: Участник Сообщений: 99 Регистрация: 26.4.2009 Пользователь №: 709 Спасибо сказали: 14 раз(а) Репутация: ![]() ![]() ![]() |
Разве вектор не может, в случае если тип Т мувабл использовать меммув вместо оператора копирования? В кулисте такой код, вроде, есть (уже давно туда не лазил, не помню, как оно работает). Если стд::вектор всегда юзает оператор копирования, он еще большее говно, чем я думал.
Я вот пиздец не понимаю, почему никто не может читать в суть, а все привязываются к частным примерам. ilyabvt, в вашем примере утечек быть не может, как и в миллионе других однострочных примеров. А вы включите мозг (ну или память) и постарайтесь вспомнить, что происходит, когда классов больше чем 2 штуки и между ними есть зависимости. Например, если вам кровь из носу надо открыть доступ к мембер-вектору. Что будете делать? Возвращать ссылку? Указатель? А если время жизни вектора неизвестно (потоки) ШаредПоинтер? Не проще ли сразу юзать Q* классы, которые и не заставляют думать "где бы тут ссылок напихть, чтоб быстрее работало", и копируются атомарно |
|
|
Iron Bug |
![]()
Сообщение
#3
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
А вы включите мозг (ну или память) и постарайтесь вспомнить, что происходит, когда классов больше чем 2 штуки и между ними есть зависимости. Например, если вам кровь из носу надо открыть доступ к мембер-вектору. Что будете делать? Возвращать ссылку? Указатель? А если время жизни вектора неизвестно (потоки) ШаредПоинтер? Не проще ли сразу юзать Q* классы, которые и не заставляют думать "где бы тут ссылок напихть, чтоб быстрее работало", и копируются атомарно да какбэ ничего не происходит, если тот, кто код писал, мозг включал, когда писал. не надо писать кривой код и не будет никаких проблем, собственно. С++ не запрещает прострелить себе ногу, это комитет по стандартизации сразу объявил. так что все проблемы программист создаёт себе исключительно сам, своими руками, от радиуса кривизны которых зависит степень глюкавости его софта. указатели - нормальная техника. и shared pointers - нормальная техника. собственно, и так уже наворочено всяких удобств, лишь бы программисту меньше было нужно заботиться о выделении памяти. куда уж ещё-то упрощать? С++ - не для нытиков, которые привыкли к свободной типизации и автоматической чистке памяти. всё ручками, ручками. и мозг включать почаще ![]() |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 27.2.2025, 9:45 |