fflua更新-增長對引用的支持

fflua 發佈了有段時間了,不少網友都用了,而且提供了一些很好的反饋。其中一個就是c++接口註冊到lua中時,對引用的支持。這樣使用起來更加方便。html

原有方式:

fflua 中註冊c++的類用以下方式:c++

複製代碼
class base_t { public: base_t():v(789){} void dump() { printf("in %s a:%d\n", __FUNCTION__, v); } int v; }; //! 註冊基類函數, ctor() 爲構造函數的類型 fflua_register_t<base_t, ctor()>(ls, "base_t") //! 註冊構造函數 .def(&base_t::dump, "dump") //! 註冊基類的函數 .def(&base_t::v, "v"); //! 註冊基類的屬性
複製代碼

當c++類註冊成功,後lua代碼中能夠操做類對象的指針,而且能夠做爲參數傳遞給c++的接口:git

void dumy_base(base_t* p) { printf("in %s begin ------------\n", __FUNCTION__); } fflua_register_t<>(ls).def(&dumy, "dumy"); //! 註冊靜態函數

有網友跟我反映,原來的接口不少都是使用引用做爲參數,爲了接收lua傳過來的參數,還得須要從新寫一個函數,比較麻煩,因而fflua增長了對引用的支持:github

void dumy_base(base_t& p) { printf("in %s begin ------------\n", __FUNCTION__); } fflua_register_t<>(ls).def(&dumy, "dumy"); //! 註冊靜態函數

 

總結:

    最新代碼:函數

          https://github.com/fanchy/ffluathis

轉載:http://www.cnblogs.com/zhiranok/p/fflua_ref.htmllua

相關文章
相關標籤/搜索