c++中,关键字const的用法总结

c++中,关键字const的用法总结:

一、在变量中的用法:

1.修饰一般变量或数组:

在C++中关键字const可以用来修饰一般类型的变量或数组,如布尔(bool)类型、浮点(float,double)类型、字符(char)类型和整数(int)类型等,在修饰这种变量或数组时,const既可以放在类型说明符之前,也可以放在类型说明符之后。
例如:int const i=0;或const int i=0;等
需要注意的是常变量或常数组在定义的时需要进行初始化,并且之后的值不能被更新。

2.修饰指针:

(1)当const放在类型说明符之前时为常量指针:

例如:const char *p = greeting;//指针指向可改变,但是指向的值不可改变。

(2)当const放在类型说明符之后时为指针常量:

例如:char * const p = greeting;//指针的指向不可改变,但是指向的值可以改变。

(3)当类型说明符在const之间时,const既修饰指针又修饰常量:

例如:const char * const p = greeting;//指针的指向和指针指向的值均不可改变。

二、在函数中的用法:

1.修饰函数中参数:

当参数为引用传递时,编译器仅为该参数产生一个别名并不开辟新的内存空间, 该参数和实参为同一块内存空间,如果参数a的值不期望被改变,则可用关键字const来修饰,具体格式为void slove(const A &a),此时a的值不能够在该函数内被修改。

2.const在函数名前面:

当const出现在函数名之前时,说明该函数的返回值是一个常类型,其返回的值不能修改。

3.const在函数名后面:

const放在类中定义的一个成员函数名之后,表示该函数为一个常量成员函数,不能修改该对象内的任何成员, 该函数为只读函数。

三、在类中的用法:

1.修饰数据成员:

关键字const对类中的数据成员的修饰与对普通变量的修饰相似,都是设置为只读数据,但是在类中的常数据成员只能通过构造函数初始化列表进行初始化。

2.修饰成员函数:

const放在类中定义的一个成员函数名之后,表示该函数为一个常量成员函数,在常函数中只能访问数据成员的值,不能修改数据成员的值,也不能调用其它修改数据成员值的方法。

3.修饰对象:

在实例化时,const放在一个普通对象的前面,该对象就变为了一个常对象,常对象在定义时就被声明为只能读取,不能被修改的对象。因此,常对象不能被赋新值,它的值在其生命周期中是不变的。并且常对象只能访问类中的常成员变量和常成员函数,不能调用非常函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值