मैं कुछ std::list
की सामग्री को साफ़ करना चाहता हूं। तत्वों को हटाने का आदेश मेरे लिए महत्वपूर्ण है। निम्नलिखित परीक्षण कार्यक्रम के आउटपुट के अनुसार, आदेश पहले से अंतिम तत्व तक है। क्या ऐसा होने की गारंटी है? यह सी ++ 2003 मानक से मेरे लिए स्पष्ट नहीं था।std :: सूची से तत्वों को समाशोधन करने का आदेश क्या है?
#include <list>
#include <iostream>
struct A
{
A(int i) : I(i) {}
~A() { std::cout << I << std::endl; }
int I;
};
int main()
{
std::list<A> l;
l.push_back(A(1));
l.push_back(A(2));
l.push_back(A(3));
std::cout << "clearing list" << std::endl;
l.clear();
}
जिज्ञासा से बाहर: हटाने का आदेश आपके लिए महत्वपूर्ण क्यों है? – nietaki
यदि यह आपके लिए महत्वपूर्ण है तो आप दूसरे को मैन्युअल रूप से मिटाने के लिए मिटाएं() का उपयोग कर सकते हैं। –
@ गैब्रियलस्च्रेबर: ... या 'pop_front() '। – kennytm