Hier ist meine C++ Code:Wie kann ich lua die Verantwortung für den Rückgabewert bei der Verwendung von tolua ++ überlassen?
// tolua_begin
const char* GetSomeString() {
std::string result;
// do something
return result.c_str();
}
// tolua_end
Ich weiß, wann die Funktion Rückkehr wird result
und lua nichts bekommen befreit werden, wenn ich es in lua nennen. Ich brauche new
eins zu verboten es befreit werden. Aber es wird Speicherverlust verursachen. Also sollte ich lua den Besitz des Rückgabewertes übernehmen lassen.
Ich weiß, wie dies mit lua_State
. Aber ich benutze Kommentar, um meine C++ - Funktionen zu lua offen zu legen, also frage ich mich, ob es einen ähnlichen Weg gibt, um es zu erreichen?
Ja, string funktioniert, danke! – zzy