专业编程基础技术教程

网站首页 > 基础教程 正文

C++: const用法详解

ccvgpt 2024-08-08 12:55:22 基础教程 16 ℃

C++中const关键字有多种使用方式,下面详细介绍一下每一种用法:

  1. 常量变量

使用const关键字指定一个常量变量,表示该变量的值不可修改,一旦被初始化就不能再修改:

C++: const用法详解

const int MAX_VALUE = 100;

以上代码定义了一个常量MAX_VALUE,它的值是100,一旦被定义就不能被修改。

2.const指针和指针常量

const指针表示指向常量的指针,指针指向的变量不能被修改,但是指针本身可以指向其他变量。const指针使用const关键字在指针类型前面加上,例如:

const int* p;

指针常量表示指针本身是常量,不能被修改,但指针所指向的变量可以被修改。指针常量使用const关键字在指针变量名前面加上,例如:

int* const p;

3.const成员函数

常量成员函数是指在函数参数后面加上const关键字,表示在该函数中不能修改对象的数据成员。常量成员函数可以访问对象的常量成员和非常量成员,但不能修改任何非常量成员的值。

class MyClass{
public:
    int getValue() const;
    void setValue(int value);
private:
    int m_value;
};
int MyClass::getValue() const{
    return m_value;
}
void MyClass::setValue(int value){
    m_value = value;
}

在上述代码中,getValue()函数被定义为const成员函数,而setValue()函数没有被定义为const成员函数。

4.const引用

const引用表示指向常量的引用,即引用所引用的变量不能被修改。const引用常常用于函数参数中,防止函数内部修改原始数据。例如:

void printArray(const int& arr, const int size);

在上述代码中,printArray函数的第一个参数是一个const引用,表示该参数所引用的数据不能被修改。

5.const对象和const对象的指针

const对象和const对象的指针都是指一种状态,即这个对象的值不能被修改。

const MyClass obj;
const MyClass *pObj = &obj;

在上述代码中,obj是一个const对象,而pObj是一个指向const对象的指针。

6.const与函数返回值

const关键字还可以用于函数的返回值。如果一个函数的返回值是const类型,那么这个返回值不能被修改。

const char* getMessage()
{
    return "Hello, World!";
}

在上述代码中,getMessage()函数返回一个const char*类型的值,表示这个返回值不能被修改。

Tags:

最近发表
标签列表