我使用 Luabind 将一个类绑定到 Lua。我需要确保当类被破坏或通过myClass = nil
.
此类将自身添加到自身内部的静态列表中,如下所示:
template<typename T>
class component : public componentInterface
{
public:
static std::list<componentInterface *> list;
component() : componentInterface()
{
di::component<T>::list.push_back(this);
}
~component()
{
di::component<T>::list.remove(this);
}
};
当调用析构函数时,它会立即将自己从列表中删除。