技术栈
C++避坑小知识
creative_mind
2024-09-01 6:03
引子:本文仅仅用作检查小错误,可以是一篇专辑
一,C++11中已经去除了auto声明自动类型变量的功能,只可以用来进行变量类型推导
二,对于STL提供的所有容器,均可以使用for依次访问器元素
三,final修饰类时,表示该类不能被继承,修饰派生类的虚函数时,表示该虚函数不能被子类继承,另外,继承的虚函数地址没有改变,重写的虚函数地址改变,
四,多态是指允许不同类的对象对同一消息做出响应的能力,即同一个接口可以被不同的实例以不同的方式实现。多态分为编译时多态(静态多态,通过函数重载实现)和运行时多态(动态多态,通过虚函数实现)。
五,override只能修饰子类的虚函数,帮助用户检测是否派生类是否对基类总的某个虚函数进行重写
六,栈区上的对象不需要释放,函数结束时编译器会自动释放,堆上分配的需要手动释放。
七,weak_ptr没有借助RAII的思想管理资源
八,.给定一棵二叉搜索树,根据节点值大小排序所需时间复杂度是线性的
九,编译时的多态性可通过函数重载实现,编译期间,编译器主要检测代码是否违反语法规则,此时无法知道基类的指针或者引用到底引用那个类的对象,也就无法知道调用那个类的虚函数。在程序运行时,才知道具体指向那个类的对象,然后通过虚表调用对应的虚函数,从而实现多态
十,抽象类可以定义指针,而且经常这样做,其目的就是用父类指针指向子类从而实现多态
十一,父类对象的虚表与子类对象的虚表没有任何关系,这是两个不同的对象
十二,在C++中,整型除法的结果是向零取整,这意味着如果除数和被除数符号相反并且被除数绝对值比除数绝对值小,结果将是0而不是负数
十三,.在派生类对象销毁时,先调用子类析构函数,后调用子基类析构函数
敬请期待!
开发语言
c++
经验分享
上一篇:
SQL 语言简明入门:从历史到实践
下一篇:
消息中间件:深入理解 Kafka的消息顺序和一致性、可靠性和高可用性 第1版
相关推荐
凯子坚持 c
8 分钟前
C++大模型SDK开发实录(三):流式交互协议SSE解析与httplib实现原理
开发语言
·
c++
·
交互
小屁猪qAq
16 分钟前
从单例模式说动态链接
c++
·
单例模式
·
链接
·
编译
ghie9090
20 分钟前
基于MATLAB的多旋翼无人机多机编队仿真实现
开发语言
·
matlab
·
无人机
少控科技
32 分钟前
QT新手日记026
开发语言
·
qt
就是有点傻
34 分钟前
C#中如何和西门子通信
开发语言
·
c#
液态不合群
37 分钟前
如何提升 C# 应用中的性能
开发语言
·
算法
·
c#
布局呆星
39 分钟前
面向对象中的封装-继承-多态
开发语言
·
python
柏林以东_
39 分钟前
异常的分类与用法
java
·
开发语言
专注API从业者
1 小时前
淘宝商品 API 接口架构解析:从请求到详情数据返回的完整链路
java
·
大数据
·
开发语言
·
数据库
·
架构
木千
1 小时前
Qt全屏显示,在顶部工具栏的最右边显示关闭按钮
开发语言
·
qt
热门推荐
01
GitHub 镜像站点
02
OpenCode 入门教程:介绍 · 安装 · 配置第三方 API (如 Claude)
03
在VSCode配置Java开发环境的保姆级教程(适配各类AI编程IDE)
04
Claude Code Skills 实用使用手册
05
UV安装并设置国内源
06
AI 规范驱动开发“三剑客”深度对比:Spec-Kit、Kiro 与 OpenSpec 实战指南
07
Linux下V2Ray安装配置指南
08
安娜的档案(Anna’s Archive) 镜像网站/国内最新可访问入口(持续更新)
09
BongoCat - 跨平台键盘猫动画工具
10
Labelme从安装到标注:零基础完整指南