C++常类型

常类型是指定义时,使用const修饰的类型,常类型的变量或者对象的值不能被修改,所以定义常量时必修进行初始化,否者编译错误。

 1. 一般常量(简单类型或数组的常量)与对象常量初始化后不能被更改;常量定义时,修饰符const可以放在类型说明符前,也可放在类型说明符后。

 2. 关于指针的常量分为三种:常量指针、指向常量的指针和指向常量的常指针

常量指针:地址是常量,所以地址值是不可改变的,但所指向的值是可以改变的。

如:char * const  p1 = new int;

指向的常量的指针:所指向的量是常量,不能改变;该指针的地址是可以改变的。

如:const char * p1 = ‘a’;

指向常量的常指针:不知道有什么鸟用。

 3. 常引用:使用const修饰引用时,引用的对象不能被更新。

如:int a=2;

Const int &b=a;

b是个引用,他所引用的对象不会被更新,也就是b只能引用a,不能在引用其他变量,但a的值是可以变的。

 4. 常类型作为函数的形参:

常指针与常引用作为输入参数,那么加const 修饰可以防止意外地改动该指针或引用,起到保护作用。因为如果是按值传递,传给参数的仅仅是实参的副本,即使在函数体内改变了形参,实参也不会得到影响。如果参数作输出用,不能const 修饰,否则该参数将失去输出功能。所以const 只能修饰输入参数。

 5. 常数据成员:

由于const类型对象必须被初始化,并且不能更新,因此在类中定义const数据成员时,只能通过构造函数成员初始化列表的方式初始化。

 6. 常成员函数:

在C++类中声明成员函数为const的,(1)表示这个成员函数不会修改这个类对象的任何数据;(2)常成员函数只能调用常成员函数,不能调用普通成员函数,普通成员函数可以调用常成员函数;(3)const关键字可以用于重载函数的区分;(4)const是函数声明的一部分,在函数的实现部分也需要加上const。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值