C++中对C的扩展学习新增语法——const

时间:2023-12-20 21:13:44

 Const

  Const在C语言和C++语言中连接属性不一样,C语言默认是外部连接,如果需要内部连接,需要显示写上static。而在C++中默认是内部连接,如果希望其编程外部变量,需要显示写上extern。

  在内存角度C语言中的const是一个只读变量,会分配内存。而在C++中的const有两种情况,第一种情况是全局变量取地址、extern,此时会分配内存,否则不分配内存,使用的时候直接替换到调用的地方;第二种情况是局部变量默认进行常量优化,例如 const int a = 10; 会将10直接替换到使用a的地方。其优点是不用寻地址、拷贝数据、效率较高。Volatile关键字可以告诉编译器不要使用常量优化。

  在C++定义常量使用const, 不要使用#define

代码实现:

  C++中const局部变量:

  C++中对C的扩展学习新增语法——const

  Volatile关键字:

   C++中对C的扩展学习新增语法——const