0
从我已阅读在网络上和SO:C++常量VS挥发性
常量:
- 告诉变量不能使用 程序指令来改变编译器。
- 因此,编译器可以优化代码。
挥发性:
- 变量是恒定的,但可以是从程序外面改变。
- 告诉编译器每次从内存中读取变量的值。
- 告诉编译器不要对这个变量使用优化。
如果我的理解是正确的,那么volatile就是另一种const。
那么,下面的一行是什么意思?
const volatile char A = 'C';
从我已阅读在网络上和SO:C++常量VS挥发性
常量:
挥发性:
如果我的理解是正确的,那么volatile就是另一种const。
那么,下面的一行是什么意思?
const volatile char A = 'C';
没有,volatile
不是 “另一种const
”。 volatile
确实不是的意思是“变量是恒定的”。
否则,你的观点是准确的。所以,const volatile
指:
const
一部分)volatile
一部分)
此外,易失性意味着变量可以从其它源被更新,不只是从CPU(例如,外设寄存器在微控制器可以从GPIO或其他任何更新),所以哟你需要用指针来读取它们。 – tilz0R
*变量是恒定的,但可以从程序外部改变*不正确。一个易失变量可以被修改。 – NathanOliver
@FrançoisAndrieux一些编译器会将'const'变量放到非易失性存储器中,这样做可能会导致设备崩溃。 – tilz0R