码迷,mamicode.com
首页 > 其他好文 > 详细

__declspec(novtable)

时间:2020-01-11 18:41:05      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:tab   图片   table   arp   nbsp   png   接口   virt   info   

__declspec(novtable) 的作用是:类不要有虚函数表以及对虚函数表的初始化代码, 这样可以节省运行时间和空间。缺点是该类型对象不能调用虚函数了,一般用于接口。

 

如下代码:

class Base1 {
public:
	virtual void f() {};
	virtual void g() {};
};

class __declspec(novtable) Base2 {
public: virtual void f() {}; virtual void g() {}; }; class Derived : public Base1, public Base2 {
public: virtual void g() {}; virtual void h() {}; }; int main() { Base1 b1; Base2 b2; Derived d1; return 0; }

 技术图片

 

可以看到,1. Base2没有虚表。 2. Derived有两张虚表

__declspec(novtable)

标签:tab   图片   table   arp   nbsp   png   接口   virt   info   

原文地址:https://www.cnblogs.com/redips-l/p/12180392.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!