crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> вставка QVector в другой QVector
__ilya__
  опции профиля:
сообщение 10.2.2013, 22:54
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 57
Регистрация: 19.1.2012
Пользователь №: 3143

Спасибо сказали: 0 раз(а)




Репутация:   0  


Как вставить один вектор в конец другого.
Как в vector с помощью insert не получается
 
vector<t> v0, v1, v2;
//
//
v0.insert(v0.end(), v1.begin(), v2.end());

как-то так можно со стандартным вектором. С QVector не получается, пишет -нет такого прототипа
использую Qt4.8

Сообщение отредактировал __ilya__ - 10.2.2013, 22:54
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Авварон
  опции профиля:
сообщение 13.2.2013, 16:38
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 99
Регистрация: 26.4.2009
Пользователь №: 709

Спасибо сказали: 14 раз(а)




Репутация:   0  


Разве вектор не может, в случае если тип Т мувабл использовать меммув вместо оператора копирования? В кулисте такой код, вроде, есть (уже давно туда не лазил, не помню, как оно работает). Если стд::вектор всегда юзает оператор копирования, он еще большее говно, чем я думал.

Я вот пиздец не понимаю, почему никто не может читать в суть, а все привязываются к частным примерам. ilyabvt, в вашем примере утечек быть не может, как и в миллионе других однострочных примеров. А вы включите мозг (ну или память) и постарайтесь вспомнить, что происходит, когда классов больше чем 2 штуки и между ними есть зависимости. Например, если вам кровь из носу надо открыть доступ к мембер-вектору. Что будете делать? Возвращать ссылку? Указатель? А если время жизни вектора неизвестно (потоки) ШаредПоинтер? Не проще ли сразу юзать Q* классы, которые и не заставляют думать "где бы тут ссылок напихть, чтоб быстрее работало", и копируются атомарно
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 13.2.2013, 17:43
Сообщение #3


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


Цитата(Авварон @ 13.2.2013, 19:38) *
А вы включите мозг (ну или память) и постарайтесь вспомнить, что происходит, когда классов больше чем 2 штуки и между ними есть зависимости. Например, если вам кровь из носу надо открыть доступ к мембер-вектору. Что будете делать? Возвращать ссылку? Указатель? А если время жизни вектора неизвестно (потоки) ШаредПоинтер? Не проще ли сразу юзать Q* классы, которые и не заставляют думать "где бы тут ссылок напихть, чтоб быстрее работало", и копируются атомарно

да какбэ ничего не происходит, если тот, кто код писал, мозг включал, когда писал. не надо писать кривой код и не будет никаких проблем, собственно. С++ не запрещает прострелить себе ногу, это комитет по стандартизации сразу объявил. так что все проблемы программист создаёт себе исключительно сам, своими руками, от радиуса кривизны которых зависит степень глюкавости его софта.
указатели - нормальная техника. и shared pointers - нормальная техника. собственно, и так уже наворочено всяких удобств, лишь бы программисту меньше было нужно заботиться о выделении памяти. куда уж ещё-то упрощать? С++ - не для нытиков, которые привыкли к свободной типизации и автоматической чистке памяти. всё ручками, ручками. и мозг включать почаще :) как-то так.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- __ilya__   вставка QVector в другой QVector   10.2.2013, 22:54
- - iReset   v0 += v1;   11.2.2013, 5:44
- - Алексей1153   Цитата(__ilya__ @ 11.2.2013, 1:54) vector...   11.2.2013, 7:45
- - __ilya__   потому что ошибка, вот и не получается )) ...   11.2.2013, 8:41
- - Алексей1153   __ilya__, пользуйся стандартным и проверенным std:...   11.2.2013, 8:52
- - Авварон   "стандартные и проверенные" std::vector ...   11.2.2013, 15:30
- - Алексей1153   стал быть QVector от компилятора к компилятору не ...   11.2.2013, 17:07
- - Авварон   1) Сорцы QVector не различаются, а значит один и т...   12.2.2013, 11:33
- - Алексей1153   я не наступаю на грабли с утечками памяти - как ра...   12.2.2013, 12:20
- - Алексей1153   ... опа, два раза отправилось   12.2.2013, 12:21
- - Авварон   Вы абсолютно не поняли, что я сказал.   12.2.2013, 12:24
- - Алексей1153   я прочитал ещё раз. Вроде всё понял   12.2.2013, 12:27
- - ilyabvt   ЦитатаС стд::вектором можно напороться на весьма и...   12.2.2013, 19:11
- - Авварон   Разве вектор не может, в случае если тип Т мувабл ...   13.2.2013, 16:38
|- - Iron Bug   Цитата(Авварон @ 13.2.2013, 19:38) А вы в...   13.2.2013, 17:43
- - Алексей1153   Авварон, только не нервничай ты так давай пример...   13.2.2013, 19:43
- - Авварон   Окей, что, по вашему, должен возвращать этот http:...   13.2.2013, 19:47
- - Алексей1153   >> когда классов больше чем 2 штуки и между ...   13.2.2013, 19:50
- - Авварон   В вашем АПИ придется писать на 1 строку больше в э...   13.2.2013, 20:12
- - Алексей1153   Цитата(Авварон @ 13.2.2013, 23:12) В ваше...   13.2.2013, 22:09
- - Авварон   Я знаю человека, он пишет на ассемблере, и "п...   13.2.2013, 22:39
- - Алексей1153   Цитата(Авварон @ 14.2.2013, 1:39) Я знаю ...   14.2.2013, 6:28
- - Авварон   Писание на с++ - это не аргумент в пользу того, чт...   14.2.2013, 9:48
- - Iron Bug   эх, молодо-зелено! если говорить про серьёз...   14.2.2013, 13:26
- - Алексей1153   Цитата(Авварон @ 14.2.2013, 12:48) Писани...   14.2.2013, 14:49
- - lanz   Цитата(Iron Bug @ 14.2.2013, 14:26) эх, м...   14.2.2013, 15:02
- - Авварон   Iron Bug То есть ваша позиция - если в либе есть о...   14.2.2013, 15:22
|- - Iron Bug   Цитата(Авварон @ 14.2.2013, 18:22) Iron B...   14.2.2013, 23:17
- - Алексей1153   Цитата(Авварон @ 14.2.2013, 18:22) я вот,...   14.2.2013, 16:29
- - Авварон   Алексей1153 По первой программе ничего не могу ска...   14.2.2013, 21:06
- - Авварон   Iron Bug Вы зря считаете, что никто Qt не оптимизи...   15.2.2013, 10:10
- - Алексей1153   Авварон, Цитата(Авварон @ 15.2.2013, 0:06...   15.2.2013, 11:16
- - Авварон   Цифры вы можете приводить сколько угодно, но если ...   15.2.2013, 11:31
- - Алексей1153   Цитата(Авварон @ 15.2.2013, 14:31) если в...   15.2.2013, 11:58
- - lanz   ЦитатаEvery C++ programmer is a showoff   15.2.2013, 11:59
- - Алексей1153   lanz, ну давай, начинай ))   15.2.2013, 12:03
- - Авварон   Цитата(Алексей1153 @ 15.2.2013, 11:58) он...   15.2.2013, 12:20
- - Алексей1153   Цитата(Авварон @ 15.2.2013, 15:20) То, чт...   15.2.2013, 12:31
- - Авварон   Цитата(Алексей1153 @ 15.2.2013, 13:31) ал...   15.2.2013, 14:27
- - Алексей1153   Цитата(Авварон @ 15.2.2013, 17:27) при вс...   15.2.2013, 18:19
- - Авварон   То есть тест вы так и не скачали и не посмотрели? ...   15.2.2013, 18:44
- - Алексей1153   Цитата(Авварон @ 15.2.2013, 21:44) почему...   15.2.2013, 19:07
- - Авварон   В том-то и вся фишка, что для QString не используе...   15.2.2013, 19:41
- - Алексей1153   Цитата(Авварон @ 15.2.2013, 22:41) В том-...   15.2.2013, 20:33
- - Авварон   Всё дело в том, что у QString'а в хедере есть ...   16.2.2013, 0:03
- - __ilya__   в общем два вектора соеденяются так: QVector<T...   16.2.2013, 12:37
- - Алексей1153   Авварон, ну QString, по сути, и есть один указател...   16.2.2013, 16:33
|- - Авварон   Цитата(Алексей1153 @ 16.2.2013, 17:33) Ав...   17.2.2013, 10:32
- - Алексей1153   Цитата(Авварон @ 17.2.2013, 13:32) А писа...   17.2.2013, 12:30
|- - Авварон   Цитата(Алексей1153 @ 17.2.2013, 13:30) Ци...   17.2.2013, 13:30
- - Алексей1153   1) ну и нехай пользуется ) Мне таких больших масс...   17.2.2013, 17:25
- - Авварон   Каким местом он развернется в присваивание указате...   17.2.2013, 17:31
- - Алексей1153   Авварон, я и не говорил, что это точно произойдёт ...   18.2.2013, 7:19
- - Авварон   Нашли, чем удивить. Компиляторы умные, я этого не ...   18.2.2013, 11:19
- - Алексей1153   ну, раз нельзя, то нельзя Главное, что по скорост...   20.2.2013, 9:00


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.2.2025, 9:45