const的问题

一百个问题/1

为什么有时候有时候要用const?

首先需要知道const的基本性质是什么?
定义Lconst是一种关键字,叫做限定符,因为他限定了声明的含义。
1、与他搭配的对象后续无法被修改。
因此2、在使用const进行声明的时候,需要初始化,即赋值。

转换的规则:非const可以转换成const,但是const无法转换为const,这是一种单向转换。

const的应用场合:
1、代替宏定义define,这主要有两个好处,一个就是const搭配的对象无法被修改,更加安全,一个就是const有类型检查,能够预防错误,const在编译运行阶段起作用,而define只在预编译起作用,因此const是可以调试而define无法调试,在编译后define占用代码段空间,const占用数据段空间。
2、const在引用中的应用,在函数形参和实参的传递中,如果我像使用引用,又不想对引用的对象进行修改,那么这时候就用const。此外在引用中使用const的时候,如果参数不匹配,那么仅当使用const引用时,c++将生成临时变量

double re(const double &a);

3、const与函数进行搭配,const放在函数后面,例如成员函数double(double a)const;,表示不可以通过this指针来修改对象的值。

const stock &stock::topval(const stock &s) const
{
	if(s.total_val>total_to_val)
		return s;
	else
		return *this;//不可能够通过this来修改对象stock的数据的值
}

类似的由于const的转换规则,const成员函数可以被非const成员函数引用,但是非const成员函数只能被非const成员函数引用。

通过上述介绍相信你已经对const的好处有了大概的了解

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值