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;

  1. int *p = (int *)&a;
  2. *p = 999;
  3. cout << a << endl;
  4. return 0;

} ```