LINUX.ORG.RU

Использование QStringLiteral

 ,


0

3

Вот интересно, когда именно необходимо использовать этот макрос? Есть ли смысл использовать на маленьких строках? Как он влияет на скорость/производительность программы и бывают ли какие-то проблемы при его использовании?

★★★
Ответ на: комментарий от intelfx

Using QStringLiteral instead of a double quoted plain C++ string literal can significantly speed up creation of QString instances from data known at compile time.

То есть если даже строку из 3-х символов обернуть в этот макрос будет быстрей?
Где-то слышал, что этот макрос ломает qt5 плагины, так ли это? И если так, то в qt6 не починили?

Dr64h ★★★
() автор топика
Последнее исправление: Dr64h (всего исправлений: 1)
Ответ на: комментарий от bhfq

Да, ещё бы все дистры быстренько на qt6 переползли, сразу бы целый ворох проблем исчез.

Dr64h ★★★
() автор топика

Рекомендую сначала определиться зачем ? На производительности оно сказывается отчасти и то приемущественно в случае большого количества постоянных строк, в остальных случаях просто лишняя возня, к тому же с учётом упомянутого слома совместимисти - вы себе выпишете прямой путь в говнокодвартс и проклятия со стороны группы сопровождающих код.

AKonia ★★★
()
Последнее исправление: AKonia (всего исправлений: 2)

когда именно необходимо использовать этот макрос

Когда экономишь крохи на перевод из utf-8, на котором написаны твои исходники, в utf-16, который используется внутри QString. Этот макрос делает перевод во время компиляции (compile-time). Без него перевод будет во время работы программы (run-time).

бывают ли какие-то проблемы при его использовании?

Засирается код. Выноси создание строк из горячих участков. Тогда не нужно будет использовать этот костыль.

ox55ff ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.