के माध्यम से सेट तत्व का "अनुक्रमणिका" प्राप्त करना यह प्रश्न std::set
और std::unsorted_set
दोनों पर लागू होता है।इटेटर
मेरे पास एक सेट में किसी तत्व के लिए एक पुनरावर्तक है। मैं सेट में अपने स्थान के आधार पर तत्व के लिए "अनुक्रमणिका" प्राप्त करने के लिए पुनरावर्तक का उपयोग करना चाहता हूं।
उदाहरण के लिए, मेरे सेट के रूप में किया जाएगा के लिए सूचकांक इस प्रकार है:
int index = 0;
for(MySetType::iterator begin = mySet.begin(); begin != mySet.end(); begin++)
{
cout << "The index for this element is " << index;
index++;
}
मैं iterators का उपयोग कर अंकगणित कर की कोशिश की है, लेकिन यह काम नहीं करता है:
int index = mySetIterator - mySet.begin();
वहाँ किसी भी तरह से करने के लिए है इस तरह के इंडेक्स वैल्यू को सेट में अपने स्थान के आधार पर इटरेटर का उपयोग करें?
दो iterators के बीच एक "दूरी" होने का सही तरीका [ 'std :: distance'] (http://en.cppreference.com/w/cpp/iterator/distance) कार्य है। हालांकि, कृपया इसका उपयोग करने से पहले जैक जवाब पढ़ें। –