frame_extract を実装中に調べメモした、 Qt 関連の事を記事にしました。
文字列を扱うクラスなどの違い
型 | 必要なヘッダ | qmake | 特徴 |
---|---|---|---|
QString Class | #include <QString> | QT += core | UTF-16で符号化。標準的な文字列の管理方法。生成コストは QLatin1String より高い |
QStringLiteral Macro | #include <QString> | QT += core | QString 構築処理の一部をコンパイル時に行うため生成コストが少ない |
QLatin1String Class | #include <QLatin1String> | QT += core | US-ASCII/Latin-1で符号化。QLatin1String を扱うためのオーバーロードが提供されていない場合は暗黙に QString へ変換されるため生成コストがかかる。 |
QByteArray Class | #include <QByteArray> | QT += core | 1バイト単位で管理。データとして文字列を管理(つまり '¥0' もデータの一部として管理される) |
QByteArrayLiteral Macro | #include <QByteArray> | QT += core | QByteArray 構築処理の一部をコンパイル時に行うため生成コストが少ない |
まとめるとこんな感じらしい。
サロゲートペアとかの扱いや絵文字とかの描画周りも調べて見たいところ。