Qt
提供了一組STL
樣containers.Qt容器 - 我應該選擇哪種容器?
然而,沒有容器可用,哪些商店有序值由它們的順序(如std::set
)和QSet
因爲某些原因行爲就像std::unordered_set
。我意識到,在調用「set」數據結構中查找可能是一件好事,但我當然不明白爲什麼做出這個決定。
我應該使用哪種容器來存儲有序項集合(我懷疑QMap
與虛構值是一個非常糟糕的選擇)爲什麼不Qt
提供類似std::set
?
我猜這背後可能有一些技術原因,但不幸的是,我想不出一個。
如果你想要'std :: set',爲什麼不使用...'std:set'? – 2012-04-20 18:40:26
你可以使用'std :: set',Qt的容器並不是爲了完全反映C++標準庫(注意缺少多重集或單向轉發鏈表),你可以使用C++容器來存儲Qt對象。 – birryree 2012-04-20 18:42:40
@birryree嗯,我不想在一個項目中混合使用'STL'和'Qt'容器。它們有不同的實現細節(例如寫入時拷貝)和'Qt'容器實際上試圖*鏡像*'STL'。他們甚至包括'STL'類接口('push_back'和'append')來提供這種兼容性。 – 2012-04-20 18:45:44