std::string getMyString() { return
; } ... HANDLE something = OpenSomething(getMyString().c_str(), ...); Я прочитал Гарантированное время жизни временного в C ++ , и я считаю, что временная строка будет жить до тех пор, пока назначение не будет оценивается, т.е. достаточно долго, чтобы эта работа работала должным образом.
Однажды столкнувшись с ошибкой, связанной с
std :: string
, связанной с временем жизни (не могу вспомнить, что это было), я бы предпочел удвоить -проверьте ...