Qt メモpost

frame_extract を実装中に調べメモした、 Qt 関連の事を記事にしました。

文字列を扱うクラスなどの違い

必要なヘッダqmake特徴
QString Class#include <QString>QT += coreUTF-16で符号化。標準的な文字列の管理方法。生成コストは QLatin1String より高い
QStringLiteral Macro#include <QString>QT += coreQString 構築処理の一部をコンパイル時に行うため生成コストが少ない
QLatin1String Class#include <QLatin1String>QT += coreUS-ASCII/Latin-1で符号化。QLatin1String を扱うためのオーバーロードが提供されていない場合は暗黙に QString へ変換されるため生成コストがかかる。
QByteArray Class#include <QByteArray>QT += core1バイト単位で管理。データとして文字列を管理(つまり '¥0' もデータの一部として管理される)
QByteArrayLiteral Macro#include <QByteArray>QT += coreQByteArray 構築処理の一部をコンパイル時に行うため生成コストが少ない

まとめるとこんな感じらしい。

サロゲートペアとかの扱いや絵文字とかの描画周りも調べて見たいところ。

参考


   /   変更履歴  /   Permalink  /  このエントリーをはてなブックマークに追加 
 カテゴリ: ブログ  /   タグ: C++, Qt, 雑記