From 72bad342ad75294ae85aac8b2e2e7bea54193c15 Mon Sep 17 00:00:00 2001 From: chai Date: Sun, 31 Mar 2019 19:59:58 +0800 Subject: *misc --- source/3rd-party/Luax/luax_class.hpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'source/3rd-party/Luax') diff --git a/source/3rd-party/Luax/luax_class.hpp b/source/3rd-party/Luax/luax_class.hpp index e056b75..dd9414a 100644 --- a/source/3rd-party/Luax/luax_class.hpp +++ b/source/3rd-party/Luax/luax_class.hpp @@ -84,6 +84,10 @@ namespace Luax /// 虚基类,为了实现多态。需要访问下面这些接口的外部基类需要虚继承此类,之后再派生链中就会 /// 调用对应实体的方法。注意继承此类时不能实现下面的方法,实现在LuaxNativeClass中,实现会 /// 导致二义性。 + /// + /// 依据Effective C++条款40,如果在必须使用virtual base基类情况下,应该尽可能避免向其中放 + /// 置数据成员,规避数据成员初始化造成的一些隐性问题。依据这一点,vpb基类更加接近C#和Java中 + /// 的Interface。所以,在这里把类用I开头标识这是一个接口。 /// class ILuaxNativeAccessor { @@ -105,7 +109,7 @@ namespace Luax /// 多个线程中需要确定不会误释放。 /// template - class LuaxNativeClass : public virtual ILuaxNativeAccessor + class LuaxNativeClass : virtual public ILuaxNativeAccessor { public: -- cgit v1.1-26-g67d0