__declspec
(
novtable
)关键字,表示这个类不生成虚函数表,但是继承类不影响(不管基类是否使用了关键字)。
不使用此关键字,类在生成对象时构造函数和析构函数多要对这个虚函数表进行处理。
使用此关键字就相对省空间,少处理一些代码。
{
virtual void f(){}
C++中的__declspec(novtable)关键字解析
__declspec(novtable)用于指示类不生成虚函数表,但不影响继承类。这能节省空间,减少构造和析构时对虚函数表的操作。尽管如此,继承该类的子类仍会生成正常的虚函数表。在实例化中,base1有虚函数表,base2则没有。使用novtable的基类,通过指针调用虚函数会引发异常,而非虚函数调用不受影响。
1253

被折叠的 条评论
为什么被折叠?