द्वारा अगर मैंमैप मान को एक्सेस करना सूचकांक
std::map<string, int> myMap;
myMap["banana"] = 1;
myMap["apple"] = 1;
myMap["orange"] = 1;
मैं myMap कैसे उपयोग कर सकते हैं की तरह एक संरचना है [0]?
मुझे पता है कि मानचित्र आंतरिक रूप से टाइप करता है और मैं इसके साथ ठीक हूं, मैं इंडेक्स द्वारा मानचित्र में एक मूल्य प्राप्त करना चाहता हूं। मैं myMap [0] की कोशिश की है, लेकिन मैं त्रुटि मिलती है:
Error 1 error C2679: binary '[' : no operator found which takes a right-hand operand of type 'int' (or there is no acceptable conversion)
मुझे पता है मैं कुछ इस तरह कर सकता है:
string getKeyAtIndex (int index){
map<string, int>::const_iterator end = myMap.end();
int counter = 0;
for (map<string, int>::const_iterator it = myMap.begin(); it != end; ++it) {
counter++;
if (counter == index)
return it->first;
}
}
लेकिन निश्चित रूप से यह बेहद अक्षम है? क्या कोई बेहतर तरीका है?
मैं अब देखना है ... आप यादृच्छिक पहुंच चाहते हैं। सूचकांक 0 केवल एक उदाहरण था, वास्तविक लक्ष्य नहीं। –