std::string getMyString() { return <make a string>; }
...
HANDLE something = OpenSomething(getMyString().c_str(), ...);
Run Code Online (Sandbox Code Playgroud)
我已经读过C++中的临时保证生命周期,并且我相信临时字符串将一直存在,直到评估了赋值,即足够长以使其按预期工作.
有一次遇到与std::string生命有关的错误(不记得是什么)我宁愿仔细检查......