C++ 修饰符类型学习笔记

在 C++ 中,我们可以使用修饰符来改变变量的类型或值。C++ 支持以下四种修饰符类型:

const 修饰符

const 修饰符用于声明一个变量为常量,即不允许修改。

c++Copy Code
const int a = 10; a = 20; // error: assignment of read-only variable 'a'

volatile 修饰符

volatile 修饰符用于声明一个变量是易失性的,即该变量可能会被意外的改变,因此编译器会确保每次读取变量时都从内存中读取,而不是缓存中。

c++Copy Code
volatile int a = 10; while (a == 10) { // do something }

在上述代码中,由于 a 变量被声明为 volatile 类型,因此编译器会确保每次读取 a 变量时都从内存中读取最新的值。

mutable 修饰符

mutable 修饰符用于声明一个类的成员变量可被修改,即使在一个 const 成员函数中也可以修改它。

c++Copy Code
class A { public: void foo() const { b = 20; // legal } private: mutable int b; };

static 修饰符

static 修饰符用于声明一个静态变量,即该变量只被初始化一次,即使在函数调用结束后仍然会保留变量的值。

c++Copy Code
void foo() { static int a = 0; a++; cout << a << endl; } foo(); // 1 foo(); // 2

在上述代码中,由于 a 变量被声明为静态变量,因此变量只被初始化一次,并且在函数调用结束后仍然保留了变量的值。

以上是 C++ 中常用的四种修饰符类型,它们可以帮助我们更好地控制变量的类型和值。