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 是不是一个常量。</

最低0.47元/天 解锁文章
2439

被折叠的 条评论
为什么被折叠?



