2009-02-09 15 views
7

मान लीजिए मेरे पास दो आइटम हैं, ए और बी, जो इसकी तुलना करते हैं। तो < बी झूठा है, और बी < एक झूठा है। यदि इन वस्तुओं को एक std :: multiset (या std :: multimap) में कुंजी के रूप में डाला गया है, तो क्या मेरे पास उनके अंतिम क्रमबद्ध क्रम की कोई गारंटी है?सी ++ में std :: multiset एक स्थिर सॉर्टिंग ऑर्डर रखता है?

मैंने कुछ संदर्भों की जांच की है, लेकिन मुझे जवाब नहीं मिला। मुझे लगता है कि इस बात की कोई गारंटी नहीं है कि यह प्रत्येक विशेष कार्यान्वयन के लिए छोड़ दिया गया है।

धन्यवाद।

+0

संभावित डुप्लिकेट [क्या std :: multiset गारंटी सम्मिलन आदेश है?] (Https://stackoverflow.com/questions/2643473/does-stdmultiset-guarantee-insertion-order) –

उत्तर

9

This thread का तात्पर्य है कि वर्तमान मानक द्वारा इसकी गारंटी नहीं है लेकिन सभी ज्ञात वर्तमान कार्यान्वयन से मुलाकात की जाती है, और सी ++ 0x ड्राफ्ट मानक के लिए एक लिंक देता है जिसमें गारंटी शामिल है।

+0

त्वरित उत्तर के लिए धन्यवाद। – Imbue

+5

रिकॉर्ड के लिए, सी ++ 0x गारंटी "ऊपरी बाउंड पर डालें" है। –

+0

बहुत बढ़िया। हम अभी तक सी ++ 11 का उपयोग नहीं कर रहे हैं, लेकिन हम अपने परीक्षण सूट में एक यूनिट टेस्ट जोड़ने जा रहे हैं ताकि हमारे द्वारा उपयोग किए जाने वाले संस्करणों में कंपाइलर का व्यवहार सुनिश्चित किया जा सके। – mskfisher

संबंधित मुद्दे