C++ 修饰符类型学习笔记
在 C++ 中,我们可以使用修饰符来改变变量的类型或值。C++ 支持以下四种修饰符类型:
const 修饰符
const 修饰符用于声明一个变量为常量,即不允许修改。
c++Copy Codeconst int a = 10;
a = 20; // error: assignment of read-only variable 'a'
volatile 修饰符
volatile 修饰符用于声明一个变量是易失性的,即该变量可能会被意外的改变,因此编译器会确保每次读取变量时都从内存中读取,而不是缓存中。
c++Copy Codevolatile int a = 10;
while (a == 10) {
// do something
}
在上述代码中,由于 a 变量被声明为 volatile 类型,因此编译器会确保每次读取 a 变量时都从内存中读取最新的值。
mutable 修饰符
mutable 修饰符用于声明一个类的成员变量可被修改,即使在一个 const 成员函数中也可以修改它。
c++Copy Codeclass A {
public:
void foo() const {
b = 20; // legal
}
private:
mutable int b;
};
static 修饰符
static 修饰符用于声明一个静态变量,即该变量只被初始化一次,即使在函数调用结束后仍然会保留变量的值。
c++Copy Codevoid foo() {
static int a = 0;
a++;
cout << a << endl;
}
foo(); // 1
foo(); // 2
在上述代码中,由于 a 变量被声明为静态变量,因此变量只被初始化一次,并且在函数调用结束后仍然保留了变量的值。
以上是 C++ 中常用的四种修饰符类型,它们可以帮助我们更好地控制变量的类型和值。