मैं केस-असंवेदनशील unordered_map<string, int>
कैसे बना सकता हूं?
key_equal
ओवरराइड करना पर्याप्त है या मुझे hasher
अपडेट करने की भी आवश्यकता है?केस असंवेदनशील unordered_map <string, int>
8
A
उत्तर
2
हैशर को भी अद्यतन करने की आवश्यकता है, क्योंकि डिफ़ॉल्ट हैश एल्गोरिदम does not produce identical hash code for strings that differ only in the case of their symbols - केस-असंवेदनशील तारों के साथ काम करने के उद्देश्य से हैश कोड फ़ंक्शन की एक आवश्यक संपत्ति है।
std::string s1 = "Hello";
std::string s2 = "hello";
std::hash<std::string> hash_fn;
size_t hash1 = hash_fn(s1);
size_t hash2 = hash_fn(s2);
std::cout << hash1 << '\n';
std::cout << hash2 << '\n';
यह ideone पर विभिन्न मूल्यों को दिखाता है:
101669370
3305111549
संबंधित मुद्दे
- 1. हैशसेट <string> केस-असंवेदनशील
- 2. आईनेमेरेबल <string> कैसे बनाएं। केस-असंवेदनशील नहीं है?
- 3. केस-असंवेदनशील
- 4. केस असंवेदनशील
- 5. ऐरेलिस्ट तत्व केस-असंवेदनशील
- 6. केस असंवेदनशील स्ट्रिंग ::
- 7. केस-असंवेदनशील GetMethod?
- 8. जेपीक्यूएल केस असंवेदनशील
- 9. हैशसेट <string> का उपयोग कैसे करें। केस-असंवेदनशील मोड में() विधि शामिल है?
- 10. मैं सूची <string> में केस असंवेदनशील मिलान कैसे प्राप्त करूं?
- 11. फ्लाईवेट <string>
- 12. केस असंवेदनशील स्ट्रिंग तुलना
- 13. अभिव्यक्ति और केस-असंवेदनशील
- 14. केस असंवेदनशील सभी
- 15. केस असंवेदनशील खोज/प्रश्न
- 16. iTerm2 ट्रिगर केस असंवेदनशील
- 17. केस असंवेदनशील शब्दकोश खोज?
- 18. केस-असंवेदनशील array_unique
- 19. Underscore.js केस असंवेदनशील छंटनी
- 20. एक केस-असंवेदनशील सूची
- 21. केस असंवेदनशील #define
- 22. केस असंवेदनशील एलडीएपी खोज
- 23. एसओएलआर केस असंवेदनशील खोज
- 24. MySQL केस-असंवेदनशील DISTINCT
- 25. एक्सएमएल पथ - केस असंवेदनशील
- 26. डाटाबेस केस असंवेदनशील सूचकांक?
- 27. PHP: केस-असंवेदनशील पैरामीटर
- 28. केस-असंवेदनशील एनएसएसटींग तुलना
- 29. जेसन.NET केस-असंवेदनशील संपत्ति Deserialization
- 30. कीड कोलेक्शन स्ट्रिंग केस असंवेदनशील
आपका जवाब सामान्य रूप में सही है, लेकिन हम के बारे में 'std :: हैश' समारोह यहां बात कर रहे हैं। तो आपका जवाब गलत हो सकता है कि कैसे 'std :: हैश ' तारों के लिए काम करता है (जो मुझे नहीं पता)! –
MBZ
@ एमबीजेड 'स्ट्रिंग :: हैश' को' स्ट्रिंग 'के लिए चरित्र मामले पर ध्यान देने के लिए बदलने का अर्थ नहीं होगा: सीपीयू उपयोग के मामले में समारोह अधिक महंगा होगा, और इसके परिणामस्वरूप अधिक टकराव भी होंगे । – dasblinkenlight
आप सभी स्ट्रिंग्स लोअरकेस को अपने पास रखने से पहले – aaronman