Qtは標準C ++ライブラリを使用しませんが、独自のQString、QVector、QMapなどを備えています...
つまり、重要な設計上の決定を行う必要があります。アプリケーションのどの部分がQStringを使用し、どの部分がstd :: stringを使用するのですか?
一部の部分でstd :: stringを使用し、他の部分でQStringを使用することは、境界でQStringとstd :: stringの間で変換する必要があることを意味します。
このオーバーヘッドを回避するために、アプリケーション全体でQStringを使用することを決定できます。しかし、それはQtに基づいていないサードパーティのライブラリ、たとえばboostを使用することをはるかに困難にします。
(同じことがstd :: map対QMap、std :: vector対QVectorなどにも当てはまります)
決定Qtのタイプを使用している部品は、STLを使用している部品大きな意味を持つ主要な設計上の決定、です。また、Qtが標準のC ++ライブラリの使用を拒否しているためです。
私見、その決定は、プロジェクトに応じて、どちらにでも行くことができます。そのため、どちらを避けるべきかという質問には答えられません。