std::string getMyString() { return <make a string>; }
...
HANDLE something = OpenSomething(getMyString().c_str(), ...);
我讀過Guaranteed lifetime of temporary in C++,我相信臨時字符串會一直存在,直到賦值被評估爲止,即足夠長的時間才能使其按預期工作。這是一個正確的使用臨時std ::字符串?
有一次,以前碰上std::string
壽命相關的bug(不記得這是什麼),我寧願仔細檢查...
是的,好點 - 它不會。 – 2011-03-27 13:22:04