std::string getMyString() { return <make a string>; }
...
HANDLE something = OpenSomething(getMyString().c_str(), ...);
मैंने Guaranteed lifetime of temporary in C++ पढ़ा है और मेरा मानना है कि अस्थायी स्ट्रिंग तब तक लाइव रहेगी जब तक असाइनमेंट का मूल्यांकन नहीं किया जाता है, यानी यह काम अपेक्षित होने के लिए काफी लंबा है।क्या यह एक अस्थायी std :: स्ट्रिंग का उचित उपयोग है?
से पहले एक बार एक std::string
जीवन से संबंधित बग में चलाने के बाद (याद नहीं कर सकते कि यह क्या था) मैं नहीं बल्कि दोहरी जांच होगी ...
हां, अच्छा बिंदु - हालांकि यह नहीं है। –