crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Функции работы с QVector
AD
  опции профиля:
сообщение 29.12.2009, 12:49
Сообщение #1


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

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

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




Репутация:   17  


Есть несколько вопросов по поводу QVector. У стандартных векторов есть функция insert, выглядящая следующим образом:
template<class InputIterator>
   void insert(
      iterator _Where,
      InputIterator _First,
      InputIterator _Last
   );

Также есть у алгоритмов есть функция работы с векторами следующая:
template<class BidirectionalIterator>
   void reverse(
      BidirectionalIterator _First,
      BidirectionalIterator _Last
   );

Есть ли у QVector аналоги, работающие точно также? В ассистенте поискал, но не нашел! :(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
breeve
  опции профиля:
сообщение 29.12.2009, 13:03
Сообщение #2


Участник
**

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

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




Репутация:   1  


Насчет reverse не знаю, а insert нашел там аж 4 разных.. смотри тут
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 29.12.2009, 13:06
Сообщение #3


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

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

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




Репутация:   17  


Цитата(breeve @ 29.12.2009, 13:03) *
Насчет reverse не знаю, а insert нашел там аж 4 разных.. смотри тут

:) Ну конечно же я их видел. Ту, что я привел, действует так: после элемента вектора, итератор которого указан первым параметром, вставляются элементы второго вектора, итераторами которых указаны начало и конец вставляемых элементов. Именно такой работы я не видел в этих 4 вариантах функции insert!

Сообщение отредактировал AD - 29.12.2009, 13:06
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 29.12.2009, 13:36
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9655
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(AD @ 29.12.2009, 16:06) *
Ту, что я привел, действует так: после элемента вектора, итератор которого указан первым параметром, вставляются элементы второго вектора, итераторами которых указаны начало и конец вставляемых элементов.
капец, какое сложное объяснение.
А по рабоче-крестьянски можешь объяснить что ты хочешь с вектором сделать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 29.12.2009, 13:39
Сообщение #5


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

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

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




Репутация:   17  


Цитата(Litkevich Yuriy @ 29.12.2009, 13:36) *
капец, какое сложное объяснение.
А по рабоче-крестьянски можешь объяснить что ты хочешь с вектором сделать?

Я объяснил работу данной функции. А по рабоче-крестьянски: мне хотелось одной функцией, а не в цикле, добавить в конец одного вектора элементы другого вектора!

Сообщение отредактировал AD - 29.12.2009, 13:39
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 29.12.2009, 13:40
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9655
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Если я правильно понял, то в конкретную позицию Вектора1 нужно вставить часть Вектора2. Так?

Цитата(AD @ 29.12.2009, 16:39) *
добавить в конец
именно в конец?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 29.12.2009, 13:40
Сообщение #7


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

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

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




Репутация:   17  


Цитата(Litkevich Yuriy @ 29.12.2009, 13:39) *
Если я правильно понял, то в конкретную позицию Вектора1 нужно вставить часть Вектора2. Так?

Угу, именно! :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 29.12.2009, 13:43
Сообщение #8


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9655
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


если в конец, то так:
QVector<QString> vector1(0);
QVector<QString> vector2(0);
...

vector1 <<  vector2.mid (start, lenth);
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 20.6.2019, 10:12