C++入门必备基础知识大全
Jul 28. 2024

AI文摘
此内容由AI根据文章内容自动生成.
加载中。

volatile 和 register

  • volatile 关键字主要是用来防止编译优化,变量读取时,从内存中读取变量的值,而不是从寄存器中读取变量的值。
  • register 告诉编译器,变量存储在寄存器中。
对比项registervolatile
目的提高访问速度禁止编译器优化访问
是否影响优化希望优化阻止某些优化
是否一定生效否,仅建议是,编译器必须遵守语义
是否还能取地址❌ 不允许✅ 可以
是否线程安全
常见用途现代代码几乎不用硬件寄存器、中断标志、内存映射 I/O 等
现代使用情况基本已淘汰仍然广泛使用,但不能替代同步原语

内联函数

  • inline 函数是指 在函数调用的时候,编译器会直接将函数的代码复制到调用点,从而提高程序的执行效率。
  • 在C++中,inline 函数的声明和定义可以放在同一个文件中,也可以放在不同的文件中。
  • 类成员的函数默认是 inline 的;也可以显式的声明内联函数 inline void 类名::函数()
> comment on / twitter
>
CC BY-NC-SA 4.0 2021-PRESENT © RYANUO