C++常量const用法小结

本文详细介绍了C++中的const用法,包括const作为值替代的特性、提高代码安全性的角色,以及const如何修饰成员变量、函数参数、成员函数和函数返回值,强调了const在不同场景下的作用和限制。
摘要由CSDN通过智能技术生成

const介绍

const 限定符,它把一个对象转换成一个常量。 在 C++ 中定义常量使用类型说明符,格式如下:
const <类型说明符> <常量名> = <常量值>;
用来修饰内置类型变量,自定义对象,成员函数,返回值,函数参数。

值替代

与使用#define一样,使用const必须把const定义放进头文件里,应该完全用const取代#define的值替代。
C++中的const默认为内部连接,也就是说,const仅在const被定义过的文件里才是可见的,而在连接时不能被其他编译单元看到。当定义一个常量(const)时,必须赋一个值给它,除非用extern作了清楚的说明:

extern const x;

C++编译器通常并不为const分配存储空间,相反它把这个定义保存在它的符号表里。当const被使用时,它在编译时会进行常量折叠。对于复杂的结构,这种情况下,编译器建立存储,这会阻止常量折叠。这就是const为什么必须默认内部连接,即连接仅在特别编译单元内的原因;否则,由于众多的const在多个cpp文件内分配存储,容易引起连接错误。因为const默认内部连接,所以连接程序不会跨过编译单元连接那些定义,因此不会有冲突。对于在大量场合使用的内部数据类型,包括常量表达式,编译器都能执行常量折叠。

安全性

如果用运行期间产生的值初始化一个变量而且知道在那个变量寿命期内它是不变的,用const限定该变量。
初始化必须发生在定义的地方,而且一旦初始化,其值不能改变。

const 修饰成员变量

#include<iostream>
using namespace std;
int main(){
   
    const int x=123;
    x=12;               //错误 常量值不能修改
	x++;                //错误 常量值不能修改
	int y=x;            //正确
	const int z=y;		//正确

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值