![]() |
|
![]() ![]() ![]() |
|
rudvil |
|
||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 20.11.2009 Где: Latvia/Riga Репутация: нет Всего: 3 |
Посоветуйте, как извратиться(в хорошем смысле), чтобы можно было сконструировать QString с помощью 2-ух QString::const_iterator
так-же, как в stl
В доках копался: конструктора для таких вещей нету, похожих функц. тоже... Пока что только одна идея, но не думаю что это лучший выход из положения...
--------------------
xor |
||||||
|
|||||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 11 Всего: 33 |
как-то по человечески, не получится.
Qt не очень приспособлена для алгоритмов. STL другое дело. -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
rudvil |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 20.11.2009 Где: Latvia/Riga Репутация: нет Всего: 3 |
Жалко..., andrew_121 как считаете, есть какие либо приемущества у QT-подобных контейнеров против stl? Решил раз уж QT так QT... Я бы и не парился с QString, но у него удобная поддержка уникода, а именно у QChar-isLetter(не только a-zA-Z) и.т.д. --------------------
xor |
|||
|
||||
borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
А почему не так
по поводу преимуществ Qt-контейнеров перед stl: расширенный набор функций, например QList::takeFirst(), а не
недостатки: невозможность использование своего классика, написанного с использованием Qt, в простых приложениях, где в Qt нет необходимости Это сообщение отредактировал(а) borisbn - 12.3.2010, 00:02 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
rudvil |
|
||||||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 20.11.2009 Где: Latvia/Riga Репутация: нет Всего: 3 |
То был лишь пример, на самом деле позиции итераторов могут быть где угодно, хоть посередине текста.
Это да, согласен там много чего удобного =]
Ну.. я какбы пишу скриптовыя язык, так что думаю этим можно пожертвовать. з.ы. провел несколько грязных тестов... от результатов в шоке, не думал что qt может быть настолько шустрее Компилировал в QT Creator(release) вот код
вот результаты
--------------------
xor |
||||||||||
|
|||||||||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
|
|||
|
||||
rudvil |
|
||||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 20.11.2009 Где: Latvia/Riga Репутация: нет Всего: 3 |
Так я первым делом попробовал, позже выяснилось - что у QString'a попросту нету такого конструктора... |
||||||||
|
|||||||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
||||
|
||||
rudvil |
|
||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 20.11.2009 Где: Latvia/Riga Репутация: нет Всего: 3 |
Заработало!!! большое спасибо ![]() Я даже и не обратил на него внимание
Теперь все понял, ведь итератор у QString'a это по сути просто массив кчаров, а я ![]() Это сообщение отредактировал(а) rudvil - 12.3.2010, 02:11 --------------------
xor |
||||||
|
|||||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
||||
|
||||
rudvil |
|
||||||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 20.11.2009 Где: Latvia/Riga Репутация: нет Всего: 3 |
Спасибо, но как я уже выше писал ![]()
конечно, можно и с помощью индекса бегать по тексту... но я всёже предпочитаю итератор) Это сообщение отредактировал(а) rudvil - 12.3.2010, 02:42 --------------------
xor |
||||||||||
|
|||||||||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 11 Всего: 33 |
rudvil, я на Qt пишу(писал) около шести лет. но для разработки алгоритмов, предпочел бы STL.
искренне не понимаю, чего и кому там не хватает, но в алгоритмах есть абсолютно все! еще частенько использую: http://www.boost.org/doc/libs/1_42_0/doc/h...tring_algo.html -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
По поводу грязного теста: QString не хранит копииодинаковых строк, а хранит лишь ссылки на них, поэтому и вышло быстрее. Попробуй каждый раз в цикле генерить уникальную строку, например QString::number( i ), и результат должен поменяться. А вот почему QVector быстрее std::vector - ???
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 11 Всего: 33 |
потому что QVector хранит указатели на элементы. в то время как std::vector сами элементы. -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
откуда такие сведения? я залез в исходники QVector'а, и вот, что увидел:
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 4 Всего: 121 |
Потому что метод at() у std::vector делает несколько проверов на out of range. Юзать надо operator[]. И потому что если тестировать STL на скорость надо перед всеми зедерами писать:
Чтобы убрать лишние check'и Добавлено через 47 секунд А так STL не медленнее. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |