Qt
STL
様containers.Qtコンテナ - 選択してください。
のセットを提供していますが、店はいくつかの理由のために彼らのため(のようなstd::set
)とQSet
て値を注文した利用可能なコンテナが、存在しないstd::unordered_set
のように振る舞います。おそらくO(1)
という名前の "セット"データ構造のルックアップは素晴らしいことかもしれませんが、なぜこの決定がなされたのか理解できません。コンテナは、私が注文したアイテムのコレクションを保存するために使用すべき
、なぜstd::set
などのないQt
のオファー何かをする(私は架空の値を持つQMap
は非常にお粗末な選択であると思われますか)?
私はこの背後にいくつかの技術的な理由があると思いますが、残念ながら、私は考えられません。
ウィキペディアから
もし 'std :: set'のようなものが必要なら、なぜ使いませんか?' std:set'? –
'std :: set'を使うことができます。QtのコンテナはC++標準ライブラリを完全に反映するようには設計されておらず、マルチセットや単方向のリンクリストがないことにも注意してください。 – birryree
@birryreeまあ、私は 'STL'と' Qt'コンテナを1つのプロジェクトに混ぜるつもりはありません。それらは実装の詳細(例えばコピーオンライト)と 'Qt'コンテナが実際に' 'STL'をミラーリングしようとする異なる実装を持っています。この種の互換性を提供するために、 'STL'のようなインターフェース(' push_back'と 'append')を含んでいます。 –