C++中的const关键字

作用

  1. 限定变量为不可修改
  2. 限定成员函数不可以修改任何数据成员(“函数体内不能对成员数据做任何改动”,如果你声明这个类的一个const实例,那么它就只能调用有const修饰的函数)
  3. 不可以同时用const和static修饰成员函数

const 变量

const int a;

不能修改值,必须初始化

const 类对象

const MyClass a;

不能修改成员变量的值,不能调用非const函数

指向 const 变量的指针

const int* a;

指向内容不可变,指向可变

const 指针

int * const a;

指向内容可变,指向不可变

指向 const 变量的 const 指针

const int * const a;

指向内容和指向都不可变

const 引用(可以引用右值,如:const int& a=1;)

const 变量作为函数参数

void myfun(const int a);

函数内部不能改变此参数

指向const变量的指针做参数,允许上层用一般指针调用。(反之不可)

const 返回值

const string& myfun(void);

用于返回const引用

上层不能使用返回值的引用来修改对象

const 成员变量

const int a;

static const int a;

必须在初始化列表初始化,之后不能改变

static const 成员变量需要单独定义和初始化

const 成员函数

void myfun(void) const;

this指针为指向const对象的const指针

不能修改非mytable成员变量

可以被const和非const对象调用,而const对象只能调用const函数

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值