[Перевод] Про QStringLiteral

QStringLiteral — это новый макрос, введенный в Qt 5, для создания объектов QString из строковых литералов. (Строковые литералы — это строки внутри кавычек в исходном коде). В этой статье я объясню, что там внутри и как они реализованы.

Выводы


Разрешите начать с информации о том, когда нужно пользоваться макросом. Если есть необходимость инициализировать объект QString из строкового литерала в Qt5, то стоит делать так:
  • В большинстве случаев QStringLiteral(«foo») если он действительно будет преобразован в QString.
  • QLatin1String(«foo») если он будет использоваться в перегруженных QLatin1String методах. (например operator==, operator+, startWith, replace, ...)

Я привел выводы в самом начале статьи для тех, кому не интересны технические детали.

Если интересно узнать, как работает QStringLiteral, читайте дальше.
Читать дальше →

© Habrahabr.ru