【C/C++基础】const 关键字

Q&A and 前言

Q:简要说一说 C++ 中的 const 关键字,含义以及常见的使用位置

A:const 是 C++ 中的一种关键字,用来对变量加以限制,无法被修改,额…

Q:具体说一下常量指针与指针常量,以及你是如何区分的

A:常量指针是 const pointer,指针常量是 pointer to const,额…

Q:好的,今天的面试到此结束,出去把门带上…


const 关键字是 C++程序语言开发岗位 面试经常考察的一个知识点,这个问题牵涉的考察面特别广,从 const 能问到指针、指针常量、常量指针、指向常量的常量指针、常量引用、常函数,甚至能问到函数的几种传参形式。今天就来看一看 const 关键字的几种用法。

const 修饰基本变量

有时候我们想定义一种值不能被改变的变量。例如,用一个变量来表示缓冲区的大小。使用变量的好处是当我们觉得缓冲区的大小不合适的时候,很容易可以对其进行调整。另一方面,我们应该防止程序一不小心改变了这个值。为了满足这一要求,可以将这一变量定义为 const 类型加以限制:

const int bufferSize = 512;

这样就把 bufferSize 定义成一个常量。任何试图为 bufferSize 赋值的行为都会引发错误。

初始化

const 是英文单词 constant 的缩写形式,表示常数、恒定的意思。使用该关键字修饰变量表示变量是恒定的,不可以改变的。因为 const 对象一旦创建后其值不能被改变,所以 const 对象必须初始化。初始值可以是任何复杂的表达式:

const int i = get_size();  // 正确:运行时初始化
const int j = 42;		  // 正确:编译时初始化
const int k;			  // 错误:没有初始化

不论是常量对象还是非常量对象都可以初始化常量对象,同样的普通对象也可以使用常量对象进行初始化。

int i = 42;
const int ci = i;		// 正确:i的值被拷贝给了 ci
int j = c1;			    // 正确:ci 的值被拷贝给了 j

尽管 ci 是整型常量,但无论如何 ci 中的值还是一个整型数。ci 的常量特征仅仅在执行改变 ci 的操作时才会发挥作用。当用 ci 去初始化 j 时,根本无须在意 ci 是不是一个常量。</

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wang_nn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值