基础知识[入门篇]"/>
[带头学C++]基础知识[入门篇]
1.const限定符、限制符
引用C++primer5中对congst的解释:有时我们希望定义这样一种变量,它的值不能被改变。例如,用一个变量来表示缓冲区的大小。使用变量的好处是当我们觉得缓冲区大小不再合适时,很容易对其进行调整。另一方面,也应随时警惕防止程序一不小心改变了这个值。为了满足这一要求,可以用关键字const对变量的类型加以限定:
const int bufSize=512; //输入缓冲区大小
这样就把 bufsize定义成了一个常量。任何试图为 bufsize 赋值的行为都将引发错误:
bufSize=512; //错误:试图向const 对象写值
因为 const 对象一旦创建后其值就不能再改变,所以const 对象必须初始化。一如既往初始值可以是任意复杂的表达式:
const int i=get size(); //正确:运行时初始化
const int j=42; // 正确;编译时初始化
const int k; //错误:k是一个未经初始化的常量
2.如何使用const关键字
const 是 C++ 中的一个关键字,表示常量。通过使用 const 关键字来声明变量,可以指定该变量的值在声明后不能被修改。(本质修饰的对象是变量,使用const修饰以后变成只读变量,不可修改,就是常量了)
const 关键字的用法有以下几种:
1.声明常量
const int num = 10; // 声明一个常量 num,并初始化为 10
在声明常量时,需要在类型前加上 const 关键字,表示该变量是一个常量。一旦常量被初始化后,其值将不能再改变。
2. 函数参数中使用 const
void printValue(const int num) {// 函数中的代码// 不会修改 num 的值
}
在函数参数中使用 const 关键字可以表示该参数是一个只读参数,在函数中不能修改它的值。这样可以确保函数内部不会无意间修改传入的参数。
3.对象成员中使用 const
class MyClass {
private:const int value; // 声明一个常量成员变量 value
public:MyClass(int val) : value(val) {// 构造函数中初始化常量成员变量 value}void printValue() const {// 常量成员函数,不会修改对象的成员变量// 可以读取成员变量的值}
};
在类中使用 const 可以声明常量成员变量,表示该成员变量在对象创建后不能被修改。同时,在成员函数后面添加 const 关键字,可以表示该成员函数是一个常量成员函数,它不会修改对象的任何成员变量。
默认状态下,const 对象仅在文件内有效
3.引用const对象
可以把引用绑定到 const 对象上,就像绑定到其他对象上一样,我们称之为对常量的引用(reference to const)。与普通引用不同的是,对常量的引用不能被用作修改它所绑定的对象:
const int num = 255;
const int &yongnum = num ; //正确:引用及其对应的对象都是常量yongnum =42; //错误:yongnum是对常量的引用 不可修改
int &yongnum2 = num; //错误:试图让一个非常量引用指向一个常量对象
这里引用一下c++ prime 5里面对应常量引用的解释
更多推荐
[带头学C++]基础知识[入门篇]
发布评论