const关键字在编程中具体指代什么,有何特殊用途?

2026-04-12 01:121阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计506个文字,预计阅读时间需要3分钟。

const关键字在编程中具体指代什么,有何特殊用途?

1. const修饰普通变量:变量被声明为const后,其值不可更改,具有常量性质。例如: c const int a=10;

2. const修饰指针: - `const int *p1=&a;`:指针`p1`指向变量`a`,但`p1`本身不可更改。 - `int *const p2=&a;`:指针`p2`指向变量`a`,且`p2`本身不可更改。 - `int *const p3=&a;`:与`p2`相同,指针`p3`指向变量`a`,且`p3`本身不可更改。

其中,第一个const修饰的是指针本身,表示指针不可更改。

1、const修饰普通变量

变量变为常变量,具有常数性质的变量。不可以修改(只读)。

2、const修饰指针

int a=10; const int* p1=&a; int const *p2=&a; int* const p3=&a;

第一个const修饰的是*p1,也就是不可以通过指针引用去修改指针所指向变量的值。

第二个与第一个效果相同,写法不一样而已。

第三个const修饰的是指针本身p3,表示指针不可修改。

3、const修饰函数形参

const修饰引用形参

void func(const int& val)

表示无法通过引用修改实参,这里的引用实际是实参的一个别名,没有进行拷贝,保证了外部数据的安全性。

注意:如果函数的参数是非const的引用,则他就不能接受const实参变量,这样会造成权限的放大,如果函数的参数是const指针或引用,则它既可以接受 const的实参变量,也可以接受非const实参变量,权限只能缩小不能放大。

4、const修饰成员变量

const关键字在编程中具体指代什么,有何特殊用途?

表示为成员常量,不能修改,同时他只能在初始化列表中赋值。

5、const修饰成员函数

const成员函数表示不能修改this指针,所指向对象的成员变量也不可以修改,const修饰类成员函数实际上是:const 类类型 *const this,

class data { public: void display()const { ...; } //实际写法 void display(const data *const this) { ...; }




本文共计506个文字,预计阅读时间需要3分钟。

const关键字在编程中具体指代什么,有何特殊用途?

1. const修饰普通变量:变量被声明为const后,其值不可更改,具有常量性质。例如: c const int a=10;

2. const修饰指针: - `const int *p1=&a;`:指针`p1`指向变量`a`,但`p1`本身不可更改。 - `int *const p2=&a;`:指针`p2`指向变量`a`,且`p2`本身不可更改。 - `int *const p3=&a;`:与`p2`相同,指针`p3`指向变量`a`,且`p3`本身不可更改。

其中,第一个const修饰的是指针本身,表示指针不可更改。

1、const修饰普通变量

变量变为常变量,具有常数性质的变量。不可以修改(只读)。

2、const修饰指针

int a=10; const int* p1=&a; int const *p2=&a; int* const p3=&a;

第一个const修饰的是*p1,也就是不可以通过指针引用去修改指针所指向变量的值。

第二个与第一个效果相同,写法不一样而已。

第三个const修饰的是指针本身p3,表示指针不可修改。

3、const修饰函数形参

const修饰引用形参

void func(const int& val)

表示无法通过引用修改实参,这里的引用实际是实参的一个别名,没有进行拷贝,保证了外部数据的安全性。

注意:如果函数的参数是非const的引用,则他就不能接受const实参变量,这样会造成权限的放大,如果函数的参数是const指针或引用,则它既可以接受 const的实参变量,也可以接受非const实参变量,权限只能缩小不能放大。

4、const修饰成员变量

const关键字在编程中具体指代什么,有何特殊用途?

表示为成员常量,不能修改,同时他只能在初始化列表中赋值。

5、const修饰成员函数

const成员函数表示不能修改this指针,所指向对象的成员变量也不可以修改,const修饰类成员函数实际上是:const 类类型 *const this,

class data { public: void display()const { ...; } //实际写法 void display(const data *const this) { ...; }