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

c++构造函数的多个细节拷问

提问1

能在 构造函数里面调用 虚函数吗?

调用的 是这个类自己的 虚函数吗?
这个问题 等价于 虚函数表什么时候形成的?

回答1

答:在构造函数里面 可以调用虚函数哈 不过是父类的 子类对象还没有创建完成

所以 尽量不要在 构造里面调用 virtual 这也是 C++ Core Guild line 的建议

提问2

为啥要在 析构前面加 virtual

回答2

答:不加virtual会内存泄露

追问问题2

是谁泄露 父类还是子类

回答3

子类内存泄露!

父类的析构函数不加virtual,
系统就把它看成一个普通的成员函数
如果没有 virtual 就调用的 父类的
可以这么理解,系统内核我也没看过

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

相关文章:

  • Redis入门 - Lua脚本
  • Creating Serial Numbers (C#)
  • pycharm使用之torch_geometric安装
  • spring-mvc 工作流程
  • 物联网Lora模块从入门到精通(六)OLED显示屏
  • 平面坐标变换(单应性变换/Homography变换)
  • 大数据项目常识
  • Linux系统:常用服务端口
  • 前端和后端分别是什么?
  • Spring基础知识(一)
  • 易语言使用node编译的js文件
  • 计算机网络笔记:动态主机配置协议(DHCP)
  • 新买的电脑怎么用U盘重装系统?新买的电脑用U盘重装系统教程
  • 图像边缘检测原理
  • 爬虫利器 Beautiful Soup 之遍历文档
  • 12、Nginx高级之高级模块(secure_link/secure_link_md5)
  • 【python】数据可视化,使用pandas.merge()对dataframe和geopandas类型数据进行数据对齐
  • 大模型入门(三)—— 大模型的训练方法
  • 人机交互学习-4 交互设计过程
  • 大话Stable-Diffusion-Webui之kohya-ss主题更改
  • 搜索在计算机中的地位十分重要
  • 多模态深度学习:定义、示例、应用
  • 基于ZCU106平台部署Vitis AI 1.2/2.5开发套件【Vivado+Vitis+Petalinux2020/2022】
  • ChatGPT原理简介
  • 从0搭建Hyperledger Fabric2.5环境
  • Rust每日一练(Leetday0026) 最小覆盖子串、组合、子集
  • c# 从零到精通-ArrayList-Hashtable的操作
  • pnpm带来了什么
  • 图像分类模型嵌入flask中开发PythonWeb项目
  • GIT安装教程(入门)