【发布时间】:2016-03-23 15:29:12
【问题描述】:
这是我的 C++ 代码:
// tolua_begin
const char* GetSomeString() {
std::string result;
// do something
return result.c_str();
}
// tolua_end
我知道函数何时返回,result 将被释放,如果我在 lua 中调用它,lua 将一无所获。我需要new 一个来禁止它被释放。但这会导致内存泄漏。所以我应该让 lua 拥有返回值的所有权。
我知道如何使用lua_State 做到这一点。但是我使用 comment 将我的 c++ 函数暴露给 lua,所以我想知道是否有类似的方法可以实现它?
【问题讨论】: