青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

C++優(yōu)雅之旅

探索C++

  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
  15 隨筆 :: 0 文章 :: 20 評論 :: 0 Trackbacks
  剛開始學(xué)習(xí)Luabind,所以算是一些簡單的筆記。
  使用Luabind前要包含相關(guān)的頭文件,引入luabind命名空間。注意包含luabind.hpp并不會自動(dòng)包含lua相關(guān)頭文件,要根據(jù)需要自己添加。

 
#include <luabind/luabind.hpp>

extern "C"
{
#include 
<lua.h>
#include 
<lualib.h>
}

using namespace luabind;

  假設(shè)有以下類定義:
 1 // TestClass.h
 2 class TestClass
 3 {
 4 public:
 5 
 6     TestClass(string s);
 7 
 8     static TestClass* Singleton();
 9 
10     void Print();
11 
12 private:
13 
14     static TestClass* mSingleton;
15 
16     string mString;
17 };
18 
19 // TestClass.cpp
20 TestClass* TestClass::mSingleton = NULL;
21 
22 TestClass::TestClass(string s)
23 {
24     mString = s;
25 }
26 
27 TestClass* TestClass::Singleton()
28 {
29     if (TestClass::mSingleton == NULL)
30     {
31         return new TestClass("Hello");
32     }
33     else
34     {
35         return mSingleton;
36     }
37 }
38 
39 void TestClass::Print()
40 {
41     cout << mString << endl;
42 }
 
  創(chuàng)建一個(gè)bindClass函數(shù),用來進(jìn)行導(dǎo)出類的相關(guān)工作
 1 int bindClass(lua_State* L)
 2 {
 3     open(L);
 4 
 5     module(L)
 6         [
 7             class_<TestClass>("TestClass")
 8             .def(constructor<string>())
 9             .def("Print"&TestClass::Print),
10             def("Singleton"TestClass::Singleton)    // 請注意static成員函數(shù)Singleton()導(dǎo)出時(shí)和非靜態(tài)成員函數(shù)的寫法區(qū)別,
                                                                     // 和全局函數(shù)的導(dǎo)出寫法一樣。

11         ];
12 
13     return 0;
14 }
  def模版類中定義導(dǎo)出函數(shù)時(shí),成員函數(shù)指針一定要用取地址符&,如TestClass::Print()。而自由函數(shù)和靜態(tài)函數(shù)可用可不用,如TestClass::Singleton()。
  現(xiàn)在就可以寫代碼測試了:
// test.lua
1 testClass = Singleton()
2 testClass:Print()

// main.cpp
 1 int _tmain(int argc, _TCHAR* argv[])
 2 {
 3     TestClass testClass("Hello from lua.");
 4     
 5     lua_State* L = luaL_newstate();
 6 
 7     init(L);
 8 
 9     luaL_dofile(L, "add.lua");
10 
11     lua_close(L);
12 
13     return 0;
14 }
15 
  運(yùn)行結(jié)果:

posted on 2009-05-02 01:32 林公子 閱讀(2966) 評論(6)  編輯 收藏 引用 所屬分類: Lua

評論

# re: Luabind導(dǎo)出類到lua 2009-07-30 11:03 Eric Xiang
if (TestClass::mSingleton = NULL) 這句有BUG  回復(fù)  更多評論
  

# re: Luabind導(dǎo)出類到lua 2009-09-11 13:53 liutp
if (TestClass::mSingleton = NULL) 這句是什么BUG ?  回復(fù)  更多評論
  

# re: Luabind導(dǎo)出類到lua 2009-09-25 10:00 林公子
@Eric Xiang
@liutp
不好意思,手誤犯了低級錯(cuò)誤
if (TestClass::mSingleton = NULL) 應(yīng)為
if (TestClass::mSingleton == NULL)
或者寫為
if (NULL == TestClass::mSingleton)
可以避免不小心將等號寫為賦值符。  回復(fù)  更多評論
  

# re: Luabind導(dǎo)出類到lua 2012-12-26 16:07 Havien
bindClass這個(gè)方法在哪兒調(diào)用呢。  回復(fù)  更多評論
  

# re: Luabind導(dǎo)出類到lua 2014-07-24 10:21 滔海縱舟
構(gòu)造函數(shù)里應(yīng)該加上一行
TestClass::mSingleton = this;  回復(fù)  更多評論
  

# re: Luabind導(dǎo)出類到lua 2014-07-24 10:22 滔海縱舟
Init(L) ->> bindClass(L)  回復(fù)  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美剧在线免费观看网站| 91久久夜色精品国产九色| 亚洲第一成人在线| 黄色亚洲精品| 欧美日韩亚洲成人| 久久久亚洲成人| 午夜视频久久久久久| 99精品视频免费全部在线| 久久综合999| 亚洲欧美日韩国产另类专区| 一本色道久久88综合日韩精品 | 欧美在线影院| 日韩亚洲一区二区| 欧美黑人在线观看| 蜜桃av一区二区在线观看| 欧美一级成年大片在线观看| 日韩视频永久免费观看| 伊人精品视频| 黄色成人片子| 国内精品视频在线观看| 国产午夜精品理论片a级探花 | 亚洲无亚洲人成网站77777| 91久久久国产精品| 亚洲激情第一区| 亚洲精品视频在线看| 亚洲欧洲三级| 日韩视频在线观看| 夜夜嗨av一区二区三区中文字幕| 亚洲国产一区在线| 91久久夜色精品国产九色| 亚洲国产另类精品专区| 亚洲韩国精品一区| 日韩视频免费观看| 亚洲无线观看| 欧美一区二区精品久久911| 久久精品成人| 欧美jizz19性欧美| 亚洲精品裸体| 一区二区三区不卡视频在线观看 | 亚洲成在线观看| 亚洲黄网站在线观看| 夜夜夜久久久| 欧美一区二区三区男人的天堂| 久久精品视频网| 欧美激情中文字幕一区二区| 欧美日韩一区二区三区高清| 久久久爽爽爽美女图片| 久久免费视频在线观看| 欧美成人精品影院| 欧美午夜在线一二页| 国产欧美一区二区三区视频| 国产精品久久毛片a| 国产精品国产精品| 黄色欧美日韩| 樱花yy私人影院亚洲| 99精品99久久久久久宅男| 午夜日韩在线观看| 欧美精品在线一区二区| 午夜久久tv| 欧美一区二区三区精品| 免费观看成人www动漫视频| 亚洲美女精品久久| 欧美一区二区三区四区视频| 欧美国产日韩一区二区| 国产亚洲欧美另类一区二区三区| 亚洲精品一线二线三线无人区| 亚洲一区影音先锋| 男女精品网站| 亚洲欧美制服另类日韩| 美女福利精品视频| 国产欧美一区二区色老头| 亚洲乱码视频| 久久久久国产一区二区三区| 在线亚洲观看| 欧美激情一二区| 国语自产在线不卡| 亚洲欧美激情一区| 亚洲精品麻豆| 欧美精品福利视频| 国产一区二区三区成人欧美日韩在线观看 | 亚洲欧美一区二区在线观看| 亚洲免费在线播放| 欧美中文在线观看| 99国产精品| 欧美欧美午夜aⅴ在线观看| 精品成人一区| 蜜臀91精品一区二区三区| 亚洲人成久久| 久久国产毛片| 欧美日韩国产精品一卡| 国产日韩在线视频| 亚洲欧洲日本mm| 红桃视频欧美| 亚洲国产精品久久久久婷婷884| 久久精品官网| 欧美一区二区视频观看视频| 亚洲精品视频在线观看免费| 91久久中文| 欧美精品观看| 亚洲视频电影图片偷拍一区| 亚洲精选中文字幕| 欧美日韩在线视频观看| 欲色影视综合吧| 久久久久久久成人| 夜夜狂射影院欧美极品| 日韩视频在线免费| 欧美成人免费全部| 久久嫩草精品久久久久| 亚洲电影有码| 亚洲韩国一区二区三区| 欧美日韩精品免费在线观看视频| 一区二区精品在线观看| 一区二区三区精品在线| 国产精品久久久久影院亚瑟| 亚洲欧美网站| 亚洲视频www| 国产日韩欧美精品| 免费人成精品欧美精品| 久久成人免费电影| 欧美日韩大片| 国产一区二区三区免费观看| 亚洲男人的天堂在线| 亚洲欧美激情一区二区| 国产一区二区三区的电影 | 黄色成人在线| 麻豆成人在线| 欧美网站在线| 久久亚洲一区| 欧美乱大交xxxxx| 亚洲尤物影院| 一区二区三区视频在线| 韩日精品视频| 亚洲美女诱惑| 狠狠入ady亚洲精品| 亚洲黄页一区| 国产亚洲精品自拍| 亚洲免费av观看| 韩国三级电影一区二区| 亚洲精品专区| 永久免费毛片在线播放不卡| 日韩视频二区| 亚洲国产电影| 亚洲女同性videos| 日韩午夜免费| 久久香蕉国产线看观看网| 午夜精品久久久久久久久久久久| 欧美不卡三区| 欧美影片第一页| 欧美深夜影院| 另类av导航| 久久噜噜亚洲综合| 99这里只有久久精品视频| 欧美在线视频免费观看| 亚洲一区三区电影在线观看| 欧美成人精品h版在线观看| 久久九九国产精品怡红院| 欧美日韩一区二区视频在线观看 | 久久精品国产v日韩v亚洲 | 亚洲婷婷国产精品电影人久久| 欧美在线日韩精品| 久久黄色影院| 亚洲一区日韩| 欧美日韩大片| 亚洲国内精品在线| 亚洲激情成人在线| 理论片一区二区在线| 美女免费视频一区| 国产一区二区三区网站| 亚洲欧美日韩精品| 欧美一区二区日韩| 久久永久免费| 国产在线观看91精品一区| 久久综合久久88| 99re成人精品视频| 久久成人国产| 亚洲欧洲另类| 国产精品高精视频免费| 久久久久久69| 99精品热6080yy久久| 久久精品av麻豆的观看方式| 亚洲黄色免费网站| 国产精品入口| 欧美风情在线观看| 亚洲欧美日韩成人| 亚洲福利一区| 欧美在线亚洲一区| 一本一本大道香蕉久在线精品| 国产亚洲精品久| 欧美日韩a区| 久久精品国产第一区二区三区| 亚洲国产一区二区三区高清| 欧美国产日产韩国视频| 99视频热这里只有精品免费| 国产午夜精品理论片a级探花| 欧美激情综合网| 久久精品99国产精品| 一区二区三区 在线观看视| 欧美成人激情视频| 欧美在线视频免费| 亚洲已满18点击进入久久 |