यह एसओ जवाब देता है कि कुंजी के लिए वेक्टर के साथ एसटीएल मानचित्र एक कुंजी के रूप में इस्तेमाल किया जा सकता है। इसलिए जब हम एक सदिश का उपयोग एक कुंजी के रूप में करते हैं। यह वास्तव में कैसे काम करता है क्योंकि कुंजी को अद्वितीय होने की आवश्यकता होती है, इसलिए जब हम एक ही वेक्टर डालते हैं उसी तत्वों के साथ mapतत्व द्वारा डुप्लिकेट तत्व की जांच होगी या वेक्टर का नाम कुछ निर्दिष्ट करता है? जैसे सरणी का नाम आधार पते का प्रतिनिधित्व करता है। इसलिए एक सरणी को कुंजी के रूप में उपयोग किया जा सकता है क्योंकि आधार पते को इस मामले में कुंजी के रूप में उपयोग किया जा सकता है लेकिन वेक्टर के मामले में कुंजी क्या है। यह आंतरिक रूप से कैसे काम करता है।
क्योंकि जब मैं वेक्टर का नाम प्रिंट करता हूं, तो मुझे एक त्रुटि मिलती है
vector<int> v;
cout<<v; //error
has operators == and <वह कैसे मदद करता है? मेरा प्रश्न यह था कि डुप्लिकेट तत्वों की जांच करने के लिए तत्व द्वारा वेक्टर कुंजी तत्व की तुलना करेंगे
std::vectorकुंजी के रूप में उपयोग करने के लिए मजबूर नहीं करेगा std::map। आप जो उपयोग करते हैं उसके लिए भुगतान करते हैं । यह किया जा सकता है, और शायद इसके लिए कुछ उपयोग-मामले हैं, लेकिन निश्चित रूप से आप अपनी पसंद के डेटा संरचना को बदल सकते हैं। STL कंटेनरों को अधिकतम बहुमुखी और किसी भी तरह से उपयोग करने के लिए डिज़ाइन किया गया है जिसे उपयोगकर्ता कभी भी उपयोग करना चाहते हैं।
std::mapकुंजी और मान दोनों को ही कॉपी करेगा। std::unordered_mapकुंजी का हैश स्टोर कर सकते हैं।