ATL_NO_VTABLE 详解

ATL_NO_VTABLE: A symbol that prevents the vtable pointer from being initialized in the class's constructor and destructor.(阻止class生成虚函数表指针)

基类虚函数表会被派生类覆盖掉,所以我们可以对基类使用 ATL_NO_VTABLE 避免产生虚函数表!
ATL是通过多重继承来实现COM组件的,继承层次中的每个类都有自己的虚函数表,所以在继承层次很深的情况下,虚函数表会变得非常宏大,如果用ATL_NO_VTABLE宏来阻止生成虚函数表,就会有限的减少组件的长度。

你可能感兴趣的:(table)