यह शायद एक मूर्खतापूर्ण सवाल हो रहा है, लेकिन मैं वास्तव में इस स्पष्ट करने की आवश्यकता:सी ++ स्थिरांक डाली, अनिश्चित अगर यह सुरक्षित है
यह मेरा कार्यक्रम के लिए किसी भी खतरे लाएगा?
क्या const_cast
भी आवश्यक है?
यदि मैं इनपुट पॉइंटर्स मानों को जगह में बदलता हूं तो यह std::string
के साथ सुरक्षित रूप से काम करेगा या यह अपरिभाषित व्यवहार बनाएगा?
अभी तक एकमात्र चिंता यह है कि जब भी मैं इनपुट पॉइंटर को संशोधित करता हूं और इसे अनुपयोगी बनाता है तो यह "some_text" स्ट्रिंग को प्रभावित कर सकता है। मुझे कुछ संकेत देने के लिए
std::string some_text = "Text with some input";
char * input = const_cast<char*>(some_text.c_str());
धन्यवाद, मैं इसकी constness const_cast
का उपयोग कर दूर कास्टिंग द्वारा अपने ही पैर
आम तौर पर, चूंकि 'const_cast' सुरक्षा को हटा देता है, इसलिए आपको जितना संभव हो उतना टालना चाहिए। – Mesop
हर शरीर के योगदान के लिए धन्यवाद, अब मैं समझता हूं कि मुझे सुरक्षित रहने के लिए इस से बचना चाहिए –