const的基础知识

1. const关键字

const关键字用来定义常量。C++中的const关键字修饰的是一个真正的常量值,而不是C中的变量(只读)。在const修饰的常量在编译期间就已经确定下来。

2. 举例

int main()
{
    const int *a; //const修饰的是指针a所指向的内容空间不可被更改
    int * const a;  // 表示a指针指向不可更改;但a指向的内存空间可以更改;
    const int a = 10; // const int a 和 int const a 是一样的;都表示一个常量;
    int const a = 10; // const int a 和 int const a 是一样的;都表示一个常量;
    return 0;
}

struct Teacher
{
    int a;
    int b;
};

// t指针的内存地址内容不能被修改
/*
 void print(Teacher const *t)
{
   // t->a = 10; -----  t指针的内存地址内容不能被修改,否则编译失败
    t = NULL;
}*/

// t这个指针地址不能被修改
/*
 void print(Teacher * const t)
{
    t->a = 10;
    //t = NULL; -------  t这个指针地址不能被修改,否则变异失败
} */

// t这个指针地址,以及t指向的内容空间不能被修改
/*
 void print(const Teacher * const t)
{
    //t->a =10;
    //t = NULL;
}*/

3. const和define宏定义的区别

const int a = 5 约等于 define int a = 5

constdefine宏定义
在编译阶段处理在编译预处理阶段处理
提供类型检查和作用域检查只是单纯的替换,取消使用#undefine
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Quexl189

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

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

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

打赏作者

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

抵扣说明:

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

余额充值