私はQtから始めたばかりですが、後で別のツールセットを使用することにした場合に備えて、アプリケーションをできるだけQtから分離したままにしておきたいと思っていますが、同時に、次のような決定をしたくありません最初から本当に私のアプリケーションを不自由にします。
Qtアプリケーションを作成するときに、利用可能な場合は常にQt実装を優先することをお勧めしますか?または、状況によっては、Qtに代替手段がある場合でも、標準のC++を使用するのが最善ですか?
以下を検討してください...
Qt関数の実装を使用できる場合は常に使用することを優先する必要がありますか?たとえば、数学関数を見てみましょう...
pow
対qPow
log
対qLn
デフォルトよりも常にQtデータ型を優先する必要がありますか?
int32_t
対qint32
double
対qreal
STLの同等物よりも常にQtオブジェクトを優先する必要がありますか?
std::string
対QString
std::vector
対QVector
これらの各状況で、長所/短所は何ですか。何を獲得または失うのでしょうか?
使用するQtベースの関数/オブジェクトが多いほど、後でQt以外のものに切り替えるのが難しくなります。
C++標準に完全に同等のものがある場合(正確な幅の型や数学関数など)、QTを使用していないプロジェクトへの移植性は失われ、何も得られません。そして、人々は、QTに精通していない場合、その機能/タイプ/何が違うか、何が違うか疑問に思うかもしれません。
QString
やQVector
のようなQTオブジェクトタイプを使用する理由は2つあります。
これら2つの点は、代わりに標準タイプを使用する場合とは逆に当てはまります。