C++中的常见关键字

常见关键字

new和delete:

  • new:分配内存,调用构造函数初始化对象
  • delete:释放内存,释放内存前会调用析构函数

static: 声明静态成员函数、静态成员变量、静态局部变量、静态全局变量(内部链接)

const: 定义不可修改的值

volatile: 告诉编译器某个变量的值可能在程序外部发生变化(如硬件寄存器、共享内存活多线程场景),因此编译器不能对该变量进行优化

在多线程环境中,volatile能确保主线程修改的共享变量对其他线程立即可见,但它不保证原子性操作,也不防止竞态条件

inline: 提示编译器将函数的代码直接插入调用点,而不是通过常规的函数调用机制。通常用于小函数,减少函数调用开销

friend: 允许指定某个函数或类访问另一个类的私有成员

mutable: 用于允许类的常量成员变量被修改,即使在常量成员函数中

this: 指向当前对象的指针,只有在类的成员函数内可用

typeid和decltype:

  • typeid:是RTTI(运行时类型识别)的一部分,在多态场景中,typeid用于检查对象的实际类型。它在底层依赖虚表和类型信息存储
  • decltype:是在编译时推导类型的工具,它不会生成任何代码,而是通过编译器的类型推断机制来确定表达式的类型
相关推荐
小七在进步11 小时前
string的使用(1)
c++·visual studio
白杨尚青12 小时前
C++进阶篇(六):map 和 set 的模拟实现——用红黑树封装 mymap/myset(迭代器 + operator[])
开发语言·c++·迭代器·stl·set·map·红黑树
kloc14 小时前
聊天室项目入口网关子服务的实现
linux·c++
csdn_aspnet18 小时前
C++ 3个有序点的方向(Orientation of 3 ordered points)
c++·算法
小七在进步19 小时前
string的使用(2)
c++
青少儿编程课堂19 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:折半搜索优化子集枚举(Meet in the Middle)解析
c++·python·算法·bfs·信息学竞赛
wo_jack21 小时前
C++ 入门笔记(十七):list 入门 —— 为什么 list 不能 sort?
数据结构·c++·面试·stl·list
青少儿编程课堂1 天前
蓝桥杯青少组图形化 + 全国青少年信息素养大赛 + 电子学会Scratch考级:校园连连看解析
c++·python·算法·bfs·信息学竞赛
草莓熊Lotso1 天前
【C++ 基于微服务的即时通讯系统】文件存储子服务实战:UUID生成、文件IO封装与全接口单元测试
开发语言·网络·数据库·c++·微服务·架构·单元测试
David猪大卫2 天前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习