Russian Qt Forum
Ноябрь 23, 2024, 00:27 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: QStringLiteral - насколько нужно использовать  (Прочитано 20512 раз)
joker
Новичок

Offline Offline

Сообщений: 49


Просмотр профиля
« : Апрель 07, 2015, 16:53 »

Нашел заметку о QStringLiteral  (https://blog.qt.io/blog/2014/06/13/qt-weekly-13-qstringliteral/)

Сама то логика понятна, однако не понимаю насколько нужно маниакально использовать.
Если во всех случаях - то почему это нельзя это сделать автоматом. Есть же MOC. А читабельность программы на порядок уменьшается.

Может кто поделится мыслями/идеями?
 
Записан
qate
Супер
******
Offline Offline

Сообщений: 1177


Просмотр профиля
« Ответ #1 : Апрель 09, 2015, 13:50 »

судя по ответам - не нужно )
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #2 : Апрель 09, 2015, 14:41 »

Для c++98
Код
C++ (Qt)
# define QStringLiteral(str) QString::fromUtf8("" str "", sizeof(str) - 1)
Смеющийся
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #3 : Декабрь 24, 2016, 08:40 »

Для c++98
Код
C++ (Qt)
# define QStringLiteral(str) QString::fromUtf8("" str "", sizeof(str) - 1)
Смеющийся
Гранд мерси Улыбающийся)))
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #4 : Декабрь 24, 2016, 13:00 »

Для c++98

Все же уже на 11х плюсах давно.
Литерал полезный, его следует использовать везде, где раньше юзался QLatin1String.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #5 : Декабрь 27, 2016, 13:36 »

по-моему в документации читал, что если есть перегрузка с параметром QLatin1String, то лучше подавать его, в остальных случаях — QStringLiteral. или все-таки везде ставить QStringLiteral и не морочить себе голову?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #6 : Декабрь 27, 2016, 14:00 »

Latin1 ускоряет конструирование тем, что вместо utf-8 кодека использует latin1-кодек.
Литерал же не перекодирует строку вообще (и даже не копирует).
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #7 : Декабрь 27, 2016, 17:11 »

Для c++98
Все же уже на 11х плюсах давно.
Увы - нет. Нужен хард под 2-ю операционку. Поставлю - перейду.
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #8 : Декабрь 29, 2016, 11:37 »

Увы - нет. Нужен хард под 2-ю операционку. Поставлю - перейду.

Qt c версии 5.5 требует 11х плюсов.
Я понимаю, что где-то еще на Qt3 пишут, но таки 11м плюсам уже 5 лет и почти не осталось платформ, где бы не было поддержки 11х плюсов.
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #9 : Декабрь 29, 2016, 16:21 »

Увы - нет. Нужен хард под 2-ю операционку. Поставлю - перейду.

Qt c версии 5.5 требует 11х плюсов.
Я понимаю, что где-то еще на Qt3 пишут, но таки 11м плюсам уже 5 лет и почти не осталось платформ, где бы не было поддержки 11х плюсов.
Qt 5 - толстый и неповоротливый монстр. Мне там ничего не надо из его плюшек, мне достаточно Qt 4.
Жду Qt Lite
« Последнее редактирование: Декабрь 29, 2016, 16:25 от panAlexey » Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #10 : Декабрь 29, 2016, 17:27 »

Qt 5 - толстый и неповоротливый монстр.

Эм, так не поменялось же ничего.
QPA и в 4.8 уже было, в коре всё то же самое.
Декларативка новая, наоборот, быстрее.
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #11 : Декабрь 29, 2016, 17:56 »

Qt 5 - толстый и неповоротливый монстр.

Эм, так не поменялось же ничего.
QPA и в 4.8 уже было, в коре всё то же самое.
Декларативка новая, наоборот, быстрее.
Если судить по жирным бинарям и начинающему тормозить Qt Creator 4.1.0 то тяжко системе становится.
Ну и в любом случае пока нет фозможность на старый операцион прицепить нужный софт.
« Последнее редактирование: Декабрь 29, 2016, 17:58 от panAlexey » Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #12 : Декабрь 29, 2016, 23:07 »

Я тут задним умом подумал, прикинул, полез в https://download.qt.io/archive/
Скачал https://download.qt.io/archive/qtcreator/2.5/ , поставил и наслаждаюсь шустрым ИДЕ.
Доволен как слон Улыбающийся))))
По сравнению с тормозным 4.10 - небо и земля.

Пс. Попробовал повырубать плагины в 4.10 - запускаться шустрее стал, но начались вылеты.
« Последнее редактирование: Декабрь 29, 2016, 23:23 от panAlexey » Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #13 : Декабрь 29, 2016, 23:21 »

4.10 еще не вышел.
Не знаю, что у вас там тормозит. Возможно, автодополнение? Ну так оно шланг вызывает, ясен пень что будет медленнее. Зато всякие std::unique_ptr умеет разворачивать и auto понимает.
Шланг бэкенд выключается одной галочкой.
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #14 : Декабрь 29, 2016, 23:25 »

4.10 еще не вышел.
Не знаю, что у вас там тормозит. Возможно, автодополнение? Ну так оно шланг вызывает, ясен пень что будет медленнее. Зато всякие std::unique_ptr умеет разворачивать и auto понимает.
Шланг бэкенд выключается одной галочкой.

соврал 4.1.0.
Тормозит запуск самого креатора. 20-25 секунд запускается.
Настройки сохраняются 5-10 секунд.
Надоела это тормозуха.
Рядом стоит 1Сv83 и 1Cv77 - и спокойно обмолачивают гигабайтные БД. Так что есть с чем сравнивать.
« Последнее редактирование: Декабрь 29, 2016, 23:39 от panAlexey » Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.101 секунд. Запросов: 23.