C++ c标准库的LuaBind绑定?

C++ c标准库的LuaBind绑定?,c++,c,lua,C++,C,Lua,我开始在使用luabind绑定到lua的某些函数上遇到一些小问题。这些函数返回或取STD:String对象作为参数,而C++最终得到的数据是垃圾,显然是因为Lua不识别数据类型。我可以根据需要手动绑定std::类,但我想知道是否已经在任何地方对c标准库进行了绑定。我似乎找不到任何类型的绑定库;有人知道这样的项目是否存在吗?Luabind已经在Lua字符串和std::string(以及char*)之间进行了自动转换。因此,您应该能够将它们用作参数和/或返回值。如果你不能做到这一点,那么事情就出了问

我开始在使用luabind绑定到lua的某些函数上遇到一些小问题。这些函数返回或取STD:String对象作为参数,而C++最终得到的数据是垃圾,显然是因为Lua不识别数据类型。我可以根据需要手动绑定std::类,但我想知道是否已经在任何地方对c标准库进行了绑定。我似乎找不到任何类型的绑定库;有人知道这样的项目是否存在吗?

Luabind已经在Lua字符串和std::string(以及char*)之间进行了自动转换。因此,您应该能够将它们用作参数和/或返回值。如果你不能做到这一点,那么事情就出了问题,无论是在你这边还是在卢阿宾德那边

Luabind还必须将符合STL样式容器的返回类型转换为Lua迭代器函数。因此,您可以在for循环中使用它,如下所示:

for object in CppFuncThatReturnsStdVector() do
    --Do something with "object"
end

<> P>除了这些之外,我不知道做出任何特别的努力来使LuabDin库直接暴露标准C++库到Lua。无论如何,这可能不是一个好主意;Lua表涵盖了STL样式容器的大部分需求。其他大部分内容都是Lua可以用自己的标准库处理的。

小点:std::string不是C标准库的一部分。它是C++标准库的一部分。我并不一定对绑定功能本身感兴趣,只对将这些类型公开为Lua可以识别的类型感兴趣。谢谢你的迅速回复。