const的定义和使用解析

时间:2024-04-06 10:54:58

 

 const是一个关键字,用于限制变量、函数参数、函数返回值等的值不能被修改

1.变量的const限定符:

在变量定义时使用const限定符,表示该变量的值是常量,不可修改

例如:const int a = 10;

2.函数参数的const限定符:

在函数的参数列表中,对某个参数使用const限定符,表示该参数是只读的,函数内部不可以修改该参数的值

例如:void func(const int a);

3.函数返回值的const限定符:

在函数声明时,在函数返回类型前面添加const关键字,表示返回值是常量,不可被修改

例如:const int func();4.const成员函数:

4.函数声明为const:   

当一个函数被声明为const时,表示该函数不会修改任何类成员的状态。这通常用于类的成员函数中。例如:

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

private:
    int value;
};

在上面的例子中,getValue函数被声明为const,表示该函数不会修改MyClass类的任何成员变量的值。

5.const修饰指针变量的时候:

1. const如果放在*的左边,修饰的是指针指向的内容,保证指针指向的内容不能通过指针来改变,但是指针变量本身的内容可变

int num = 10;
const int* p = #
*p = 20; //无效,不能修改p所指向的对象的值
p = nullptr; //有效,可以修改p的值

2. const如果放在*的右边,修饰的是指针变量本身,保证了指针变量的内容不能修改,但是指针指向的内容,可以通过指针改变

int num = 10;
int* const p = #
*p = 20; //有效,可以修改p所指向的对象的值
p = nullptr; //无效,不能修改p的值