c++中const作用总结

90 阅读2分钟

在C++中,const 是一个关键字,用于表示常量,它可以用在不同的上下文中,具有不同的作用:

  1. 常量变量const 可以用来声明常量变量,一旦初始化后,就不能再被修改。这可以用来确保数据的不可变性,提高代码的可维护性和安全性。例如
const int max_value = 100;
  1. 常量指针:通过将 const 放在指针前面,可以创建一个指向常量数据的指针,这意味着不能通过该指针来修改所指向的数据,但可以改变指针本身指向不同的数据。例如:
const int* ptr = &max_value;

这里 ptr 是一个指向整数常量的指针,所以不能通过 ptr 来修改 max_value 的值。
3. 指向常量的指针:通过将 const 放在指针所指向的数据类型前面,指针的指向不可以改,指针指向的值可以更改。例如:

int value = 42;
int* const ptr = &value;

这里ptr指针指向不可以更改,指针指向的值可以value是可以更改的。
4. 常量成员函数:在类中,如果将 const 放在成员函数的声明后面,表示该成员函数不会修改对象的成员变量。这可以让编译器在调用对象的 const 成员函数时进行一些优化,并且也可以确保对象的不可变性。例如:

class MyClass {
public:
    int getValue() const {
        return data;
    }

private:
    int data;
};

这里 getValue 是一个常量成员函数,它不会修改 data 成员变量。
5. 常引用:在函数参数中,使用 const 引用可以避免不必要的数据复制,并且确保在函数内部不会修改传入的数据。例如:

void printValue(const int& value) {
    // 这里不能修改 value 的值
    cout << value << endl;
}

这里 value 是一个常引用,不可修改。
const 的主要作用是确保数据的不可变性和程序的安全性,同时还可以用于一些优化和设计模式中,以提高代码的可读性和可维护性。