std::string getMyString() { return <make a string>; }
...
HANDLE something = OpenSomething(getMyString().c_str(), ...);
私はC++で一時的な保証された寿命を読みました.一時的な文字列は、割り当てが評価されるまで、つまり、これを期待どおりに機能させるのに十分な長さで存続すると信じています.
以前にstd::string
生涯関連のバグに遭遇したことがあります(それが何であったか思い出せません)私はむしろ再確認したいと思います...