C++的const
- C++语言中const变量定义时必须初始化。
- C语言中const变量定义时不要求初始化。
- 当const变量初始化为数值时,C++编译器会优化,忽略通过指针对const变量的修改。而C编译器不会优化。
- 为了安全,务必使用volatile,表示变量的值是易变的,每次都要从内存读取。
volatile const int a = 100;
- 示例:
```cpp
include
using namespace std;
int main(int argc, char const *argv[]) { volatile const int a = 888; cout << a << endl;
int *p = (int *)&a;
*p = 999;
cout << a << endl;
return 0;
} ```