मैं ओवरथिंकिंग कर रहा हूं (कुछ लोग सोच सकते हैं, चलो देखते हैं कि क्या होता है) एसटीएल कंटेनर और उनके तत्वों का आधार।एसटीएल कंटेनरों और उनके तत्वों की स्थिरता - जब कॉन्स का उपयोग करें?
मैं इस पर चर्चा की तलाश कर रहा हूं, लेकिन परिणाम आश्चर्यजनक रूप से विचित्र हैं। तो मैं जरूरी नहीं कि यहां एक निश्चित उत्तर की तलाश कर रहा हूं, मैं एक ऐसे चर्चा से खुश हूं जो मेरे सिर में गियर फिर से चल रहा है।
मान लें कि मेरे पास एक कक्षा है जो std :: तारों को std :: vector में रखती है। मेरी कक्षा एक शब्दकोश है जो एक शब्दकोश फ़ाइल से शब्दों को पढ़ता है। वे कभी नहीं बदला जाएगा। तो यह रूप में
std::vector<const std::string> m_myStrings;
यह घोषणा करने के लिए हालांकि विवेकपूर्ण लगता है, मैं बिखरे हुए टिप्पणी है कि आप एक std :: वेक्टर में स्थिरांक तत्वों का उपयोग नहीं करना चाहिए, के बाद से तत्वों को आबंटित करने की आवश्यकता है पढ़ा है।
प्रश्न:
ऐसे मामले हैं जब स्थिरांक तत्वों std :: वेक्टर में किया जाता है (हैक्स आदि को छोड़कर)?
अन्य कंटेनरों में उपयोग किए जाने वाले तत्व हैं? यदि हां, तो कौन सा, और कब?
मैं मुख्य रूप से वैल्यू प्रकारों के बारे में बात कर रहा हूं, यहां पॉइंटर्स नहीं।
ठीक है, एक साधारण संख्या पर्याप्त नहीं है - कम से कम इसका मतलब है कि मैं सही ढंग से समझ गया हूं। संपादित करें: मैं वास्तव में चाहता हूं कि संकलक इस उपयोग को पकड़ सके। मुझे एहसास है कि इसके कारण हैं, हालांकि नहीं। – Leander
@ लिंडर: ठीक है, एक साधारण "ठीक" पर्याप्त है। –