__declspec(novtable) 的用法
__declspec(novtable) 在C++中接口中广泛应用. 不容易看到它是因为在很多地方它都被定义成为了宏. 比如说ATL活动模板库中的ATL_NO_VTABLE, 其实就是__declspec(novtable).
__declspec(novtable) 就是让类不要有虚函数表以及对虚函数表的初始化代码, 这样可以节省运行时间和空间. 但是这个类一定不允许生成实例, 因为没有虚函数表, 就无法对虚函数进行调用.
因此, __declspec(novtable)一般是应用于接口(其实就是包含纯虚函数的类), 因为接口包含的都是纯虚函数, 不可能生成实例. 我们把 __declspec(novtable)应用到接口类中, 这些接口类就不用包含虚函数表和初始化虚函数表的代码了. 它的派生类会自己包含自己的虚函数表和初始化代码.
__declspec(novtable) 的用法相关推荐
- __declspec关键字详细用法
__declspec关键字详细用法 2009-01-21 16:23 __declspec用于指定所给定类型的实例的与Microsoft相关的存储方式.其它的有关存储方式的修饰符如static与ext ...
- __declspec(novtable)有什么作用
__declspec(novtable) 在C++中接口中广泛应用. 不容易看到它是因为在很多地方它都被定义成为了宏. 比如说ATL活动模板库中的ATL_NO_VTABLE, 其实就是__declsp ...
- c++ 中__declspec 的用法
语法说明: __declspec ( extended-decl-modifier-seq ) 扩展修饰符: 1:align(#) 用__declspec(align(#))精确控制用户自定数 ...
- 【转】__declspec用法详解
__declspec用法详解 __declspec用于指定所给定类型的实例的与Microsoft相关的存储方式.其它的有关存储方式的修饰符如static与extern等是C和 C++语言的ANSI规范 ...
- __declspec
__declspec __cdecl和__stdcall都是函数调用规范(还有一个__fastcall),规定了参数出入栈的顺序和方法, 如果只用VC编程的话可以不用关心,但是要在C++和Pascal ...
- 浅析 C++智能指针和 enable_shared_from_this 机制
作者 | 小牛 责编 | 阿哲 头图 | CSDN 下载自视觉中国 来源 | 后端技术小牛说(ID:gh_acfd77ed3228) 今天跟聊一下 BAT 面试 C++ 开发工程师必问的一个考点:智 ...
- 从源码看std::weak_ptr
1. 序 本篇文章来讲解一下weak_ptr, weak_ptr一般也都是和shared_ptr同时存在的,相当于对对象的弱化版引用.我们首先从源码的角度来讲解下weak_ptr,然后再讲一下weak ...
- __purecall 链接错误
不知道诸位有没有过这样的经历:本是简单合法的 C++ 代码,但编译链接的时候却出现了如下的链接错误: > error LNK2001: 无法解析的外部符号 __purecall 在解决这个问题之 ...
- C++接口的定义用一个实例说明 [转]
接口是一个没有被实现的特殊的类,它是一系列操作的集合,我们可以把它看作是与其他对象通讯的协议.C++中没有提供类似interface这样的关键 字来定义接口,但是Mircrosoft c++中提供了_ ...
最新文章
- 盘一盘 2021 年程序员们喜欢的网站数据
- 单纯形法(四)理论部分(终结)
- ARM Cortex-M0微控制器汇编语言之分支条件的典型用法
- 寻路机器人单片机程序示例_单片机精华程序代码示例:DS1302时钟程序
- OpenCV Lucas-Kanade光流计算的实例(附完整代码)
- R语言blotter包回测实例
- 佳能2900打印机与win10不兼容_佳能2900打印机和惠普1020哪种好 佳能2900打印机和惠普1020对比【详解】...
- 在IDEA中解决jar包冲突的神操作-必看,秒杀市面方法
- 算天数什么时候加一什么时候不加一_陌陌加公会不加公会的区别?
- 世界名人的博客,他们走在了我们前面,努力奋斗吧
- 小程序apkg还原_Macbook不为人知实用小技巧,学到就赚到!
- 华为ensp_三层交换
- [C++]牛客 WY11 星际穿越
- codeforces884D(大概是构造,优先队列)
- 建造者模式——画胖小人和瘦小人
- 水漆哪个品牌好?十大品牌水漆排行榜
- 【CAD-Web】CAD/DWG的Web化
- 利用51单片机+HC-SR04+51单片机制造超声波测距模块
- FireFox插件 - Greasemonkey
- 洛谷 U41571 Agent2