C++ const 关键字

2025年3月17日 | 阅读 8 分钟

本节将讨论 C++ 编程语言中的 const 关键字。const 关键字用于定义在程序执行期间无法更改的常量值。这意味着一旦我们在程序中将一个变量声明为常量,该变量的值将是固定的,永远不会改变。如果我们尝试更改 const 类型变量的值,程序将显示错误消息。

Const keyword in C++

使用 const 关键字处理不同参数

  • 使用 const 变量
  • 将 const 用于指针
  • 使用 const 指针处理变量
  • 将 const 用于函数参数
  • 将 const 用于类成员函数
  • 将 const 用于类数据成员
  • 将 const 用于类对象

1. const 变量

它是 const 变量,用于定义在程序执行期间永远不会更改的变量值。如果我们尝试修改该值,它将抛出错误。

语法

示例:使用 C++ 中 const 关键字的程序

让我们创建一个程序来演示 C++ 编程语言中 const 关键字的用法。

输出

由于我们将 num 的值 25 更新为 10,因此会出现编译时错误。

示例:让我们创建一个简单的程序来演示 C++ 编程语言中 const 关键字的用法。

输出

 The sum of the x and y is: 42

在上面的程序中,我们在初始时声明并赋值了 const 变量 x 和 y。然后,将两个 const 变量的结果存储在“z”变量中以打印总和。

注意:在 C++ 编程中声明 const 变量时,我们需要同时为定义的变量赋值;否则,会出现编译时错误。

2. 常量指针

要创建 const 指针,我们需要在指针名称前使用 const 关键字。初始化后,我们不能更改 const 指针的地址,这意味着一旦指针被初始化为 const 指针,它将始终指向同一个地址。

示例:使用 const 关键字演示常量指针的程序

让我们以一个例子来说明 C++ 编程语言中 const 关键字与常量指针的用法。

输出

The value of x: 15
The value of ptr: 15

在上面的程序中,指针 ptr 指向 int 变量“x”的地址,并且 ptr 变量在初始化后不能更改其地址,但指针 ptr 可以更改 x 的值。

3. 指向常量变量的指针

这意味着指针指向一个不能更改的 const 变量的值。

声明指向常量变量的指针

这里,x 是一个指向 const int 类型变量的指针,我们也可以声明一个指向 const 变量的指针,如下所示:

在这种情况下,y 是一个指向 char 类型 const 变量的指针。

示例:使用 const 关键字处理指向常量变量的指针的程序

输出

The initial value of ptr: 7
The value of x: 7
The value of y: 10
The value of ptr: 10

在上面的程序中,指针 ptr 指向 const int (x) 变量,并且 int (x) 变量的值永远不会改变。

4. 常量函数参数

我们可以使用 const 关键字将函数参数声明为常量参数。并且如果函数参数的值被声明为 const,它就不允许更改其值。

语法

在上面的语法中,return_type 表示函数是否会返回值。fun_name() 函数包含一个 const 参数,一旦在程序中定义,其值就永远不会改变。

示例:让我们以一个例子来说明 C++ 编程语言中 const 关键字与函数参数的用法。

输出

The value of num: 5

在上面的程序中,num 是一个常量参数,我们不能更新 num 的值。如果我们更新 num 变量的值,它将返回编译时错误。

5. 类的 const 成员函数

  1. const 是类的常量成员函数,它永远不会更改任何类数据成员,也不会调用任何非 const 函数。
  2. 它也被称为只读函数。
  3. 我们可以通过在成员函数名称后添加 const 关键字来创建类的常量成员函数。

语法

在上面的语法中,mem_fun() 是一个类的成员函数,const 关键字用于成员函数名称之后,使其成为常量。

示例:使用 const 关键字处理类成员函数的程序

让我们以一个例子来说明类成员函数的 const 关键字的定义。

输出

上面的代码会引发编译错误,因为 fun() 函数是 ABC 类的 const 成员函数,我们正在尝试为其数据成员“x”赋值,这会导致错误。

6. 类的常量数据成员

数据成员类似于在类中声明的变量,但一旦数据成员被初始化,它们就不会改变,甚至在构造函数或析构函数中也不会改变。常量数据成员使用类内数据类型之前的 const 关键字进行初始化。const 数据成员在声明期间不能赋值;但是,它们可以从构造函数中赋值。

示例:使用 const 关键字处理类数据成员的程序

输出

The value of y: 10
The value of constant data member 'A' is: 10

在上面的程序中,ABC 类的对象 obj 调用 ABC 构造函数打印 y 的值,然后打印 const 数据成员 'A' 的值为 10。但是,当“obj.A”为“A”数据成员赋新值时,会出现编译时错误,因为 A 的值是常量且不能更改。

7. 常量对象

当我们使用 const 关键字创建对象时,数据成员的值在程序对象的生命周期内永远不会改变。const 对象也被称为只读对象。

语法

在上面的语法中,const 是一个关键字,用于在类的对象名称之前,使其成为一个常量对象。

示例:让我们创建一个程序来演示 C++ 编程语言中的常量对象。

输出

The value of A: 10

在上面的程序中,我们将 A 的值设置为 10,编译器打印“A 的值:10”,当我们尝试将 A 的值设置为 20 时,类的对象会返回程序中的编译时错误。

使用 const 关键字查找圆面积的程序

让我们以一个例子来说明如何使用 C++ 编程语言中的 const 关键字打印圆的面积。

输出

Input the radius of a circle: 
5
The area of a circle is: 78.5

下一主题C++ 中的 Memset