我有一個std :: multiset的排序的自定義對象。在多重集中,兩個相同的對象(基於<運算符)可能包含一些不相等的字段。在這種情況下,我需要維持多集中對象的插入順序> <>。在std :: multiset中維護插入順序相同的元素
我知道這不是一個問題,如果我使用C++ 11,但我們不在這一點。
我看到的另一種解決方案是使用<ctime>
中的類中的時間戳字段,但分辨率爲1秒。如果我在同一秒有2個插入,那麼我無法在比較操作中使用時間戳。我們不能/不能在這個項目上使用boost :: chrono。
我還有另外一種方法可以確保插入順序得到維護嗎?
這是有可能使用's.upper_bound」後,立即對所有其他等效項查找插入點。我不知道的是,如果std :: set的實現可能因其他後續操作而重新排序它。 –