   [Lua]How to use object pointer in lua with luabind?
  Hello everbody.  I'm just start using luabind, I want to do something like this: class Object{public:Object();static Object* GetInstance();void Print();private:static Object* mObject;int mValue;};Object* Object::mObject = NULL;Object::Object(){mObject = this;}Object* Object::GetInstance(){return mObject;}void Object::Print(){cout << mValue << endl;}(I know the code doesn't make sense, just for test).  I know how to export method to lua ,but I don't know how to receive class object pointer in lua. What I want to do is have an Object class instance in lua and receive the return value of GetInstance():// In lua// How to define the objectPointer?// And how to use this pointer call Print() function?objectPointer = Object::GetInstance()   Many thanks.[Edited by - Erosnick on May 1, 2009 4:18:41 AM]
  In lua, the concept of a pointer is hidden from you. Essentially, luabind will make lua see a pointer as a normal table.Anyway, lua syntax is slightly different from C++ syntax - to get what you want, you'll have to do something like:/* Somewhere in your binding stuff */luabind::def("getInstance", Object::getInstance), //Get instance should be a static or free function anyway...luabind::class_<Object>("Object")    .def("print", &Object::print)/* Lua codez */--Note how we have to call member functions with the : operator.--Static functions, however, can be called with operator .obj = getInstance();obj:print();--Specifically, what we are doing with the : operator is just syntatic sugar for -- obj.print(obj), since lua dosn't know how to automatically pass the 'this' pointer into member functions.;  That's easy to understand, Thanks a lot!