当前位置: 首页 > news >正文

__declspec(novtable) 在C++

__declspec(novtable) 在C++中接口中广泛应用. 不容易看到它是因为在很多地方它都被定义成为了宏. 比如说ATL活动模板库中的ATL_NO_VTABLE, 其实就是__declspec(novtable).
__declspec(novtable) 就是让类不要有虚函数表以及对虚函数表的初始化代码, 这样可以节省运行时间和空间. 但是这个类一定不允许生成实例, 因为没有虚函数表, 就无法对虚函数进行调用.

因此, __declspec(novtable)一般是应用于接口(其实就是包含纯虚函数的类), 因为接口包含的都是纯虚函数, 不可能生成实例. 我们把 __declspec(novtable)应用到接口类中, 这些接口类就不用包含虚函数表和初始化虚函数表的代码了. 它的派生类会自己包含自己的虚函数表和初始化代码.

(novtable = no virtual table

http://www.lryc.cn/news/166399.html

相关文章:

  • ChatGPT充值,银行卡被拒绝
  • 算法通过村第七关-树(递归/二叉树遍历)白银笔记|递归实战
  • 抖音小程序开发教学系列(6)- 抖音小程序高级功能
  • SpringBoot运行原理
  • 为什么Proteus串口无法正常显示
  • Furion api npm web vue混合开发
  • 【搭建私人图床】本地PHP搭建简单Imagewheel云图床,在外远程访问
  • BOM操作
  • 【校招VIP】前端操作系统之存储管理加密
  • windows 下载安装 mysql
  • 第14章_瑞萨MCU零基础入门系列教程之QSPI
  • 【pygame】01 pygame制作游戏的最小系统
  • (文末赠书)我为什么推荐应该人手一本《人月神话》
  • 回文串 rust解法
  • echarts常用参数详解汇总(饼图,柱形图,折线图)持续更新中
  • 最新ChatGPT网站源码+支持GPT4.0+支持Midjourney绘画+支持国内全AI模型
  • 【MySQL】基础SQL语句——库的操作
  • 基于YOLOv8模型的海洋生物目标检测系统(PyTorch+Pyside6+YOLOv8模型)
  • 华为星闪联盟:引领无线通信技术创新的先锋
  • 炒期权的资金门槛是多少 ?
  • matlab根轨迹绘制
  • Vue错误记录
  • Linux 修改SSH的显示样式,修改终端shell显示的样式,美观更改
  • day40 设计模式、jdk8新特性
  • 【数据结构】链表C++编写的,它定义了一个链表,并实现了一些基本的链表操作,如创建新节点、插入节点、清空链表、输出链表以及查找节点
  • 浏览器面试题
  • Java Controller层异常处理示例【含面试题】
  • 通过Git Bash将本地文件上传到本地github
  • 继承的笔记
  • Android7.1 ROOT权限的获取