मैं एक छोटे से परियोजना पर काम कर और एक स्थिति है जहाँ निम्नलिखित हुआ आ गया था:एक std :: स्ट्रिंग में एक nullptr असाइन करें सुरक्षित है?
std::string myString;
#GetValue() returns a char*
myString = myObject.GetValue();
मेरा प्रश्न है, तो GetValue()
रिटर्न नल myString
कोई रिक्त स्ट्रिंग हो जाता है? क्या यह अनिर्धारित है? या यह segfault होगा?
यह प्रश्न बहुत समान है: http://stackoverflow.com/questions/2407711/avoiding-improper-stdstring-initialization-with-null-const-char-using-g – chris
माइक्रोसॉफ्ट के पास हमेशा एक बग था जहां 0x0 असाइन किया गया था std :: स्ट्रिंग ठीक था। अपने कोड को देखकर ऐसा लगता है कि आप एक माइक्रोसॉफ्ट लड़के हैं, इसलिए यह आपके लिए काम कर सकता है। लेकिन .. अन्यथा यह एक SIGSEGV ट्रिगर करेगा। –