[带头学C++]------ 1. 基础知识[筑基篇]----4.4 Const关键字

目录

4.4. const限定符、限制符

4.5. 如何使用const关键字

4.5.1. 声明常量

4.5.2. 函数参数中使用 const

4.5.3. 对象成员中使用 const

4.6. 引用const对象


4.4. 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是一个未经初始化的常量 

4.5. 如何使用const关键字

     const 是 C++ 中的一个关键字,表示常量。通过使用 const 关键字来声明变量,可以指定该变量的值在声明后不能被修改。(本质修饰的对象是变量,使用const修饰以后变成只读变量,不可修改,就是常量了)

const 关键字的用法有以下几种:

4.5.1. 声明常量

const int num = 10; // 声明一个常量 num,并初始化为 10

       在声明常量时,需要在类型前加上 const 关键字,表示该变量是一个常量。一旦常量被初始化后,其值将不能再改变。 

4.5.2. 函数参数中使用 const

void printValue(const int num) {
    // 函数中的代码
    // 不会修改 num 的值
}

      在函数参数中使用 const 关键字可以表示该参数是一个只读参数,在函数中不能修改它的值。这样可以确保函数内部不会无意间修改传入的参数。

4.5.3. 对象成员中使用 const

class MyClass {
private:
    const int value; // 声明一个常量成员变量 value
public:
    MyClass(int val) : value(val) {
        // 构造函数中初始化常量成员变量 value
    }
    void printValue() const {
        // 常量成员函数,不会修改对象的成员变量
        // 可以读取成员变量的值
    }
};

        在类中使用 const 可以声明常量成员变量,表示该成员变量在对象创建后不能被修改。同时,在成员函数后面添加 const 关键字,可以表示该成员函数是一个常量成员函数,它不会修改对象的任何成员变量。

默认状态下,const 对象仅在文件内有效

4.6. 引用const对象

      可以把引用绑定到 const 对象上,就像绑定到其他对象上一样,我们称之为对常量的引用(reference to const)。与普通引用不同的是,对常量的引用不能被用作修改它所绑定的对象:

const  int  num = 255;
const  int  &yongnum  =  num ; //正确:引用及其对应的对象都是常量

yongnum  =42;    //错误:yongnum是对常量的引用 不可修改
int &yongnum2  =  num;     //错误:试图让一个非常量引用指向一个常量对象
 

这里引用一下c++ prime 5里面对应常量引用的解释 

  • 12
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序小白Erike.

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

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

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

打赏作者

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

抵扣说明:

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

余额充值