STL コンテナではなくQt コンテナ ( QMap
、など)を使用することの長所と短所は何ですか?QVector
Qt を好む理由が 1 つあります。
- Qt コンテナーは、Qt の他の部分に渡すことができます。たとえば、コンテナーを使用して、 を入力し
QVariant
、次に を入力することができますQSettings
(ただし、いくつかの制限があり、キーが文字列である および / のみQList
がQMap
受け入れQHash
られます)。
他にありますか?
編集: アプリケーションがすでに Qt に依存していると仮定します。
ベストアンサー1
これは答えるのが難しい質問です。結局のところ、哲学的/主観的な議論に行き着くかもしれません。
そうは言っても...
私はルールを推奨します「郷に入っては郷に従え」
つまり、Qt の世界にいるなら、Qt のユーザーと同じようにコードを書くということです。これは、読みやすさや一貫性の問題だけではありません。すべてを stl コンテナに保存し、そのすべてのデータを Qt 関数に渡す必要がある場合、どうなるか考えてみてください。Qt コンテナにデータをコピーしたり、Qt コンテナからデータをコピーしたりする大量のコードを本当に管理したいですか。コードはすでに Qt に大きく依存しているので、stl コンテナを使用しても、それが「標準」になるわけではありません。また、コンテナを何か役に立つ用途に使用したいときに、対応する Qt コンテナにコピーしなければならないとしたら、コンテナの意味は何でしょうか。