最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
C++const关键字常用方法
时间:2026-06-24 08:32:48 编辑:袖梨 来源:一聚教程网

一、概念
- const关键字在C++中不只是表示常量,他的核心是只读契约
二、const五大常见用法
1、基本常量
- 用于替代#define
- 特点:编译器常量,有类型检查,比宏安全
const int SIZE = 20;
2、const与指针
- 根据const与指针符号*的前后位置,记忆口诀: 左定值,右定向
1)、指向常量的指针
- const在*左边,定值
- 特点:值不能改,但指针可以改(是顶层const)
const int* p = &a; *p = 10; // 错❌️ p = &b; // 对✅️
2)、常量指针
- const在*右边,定向
- 特点:指向不能改,但值可以改(是顶层const)
int* const p = &a; *p = 10; // 对✅️ p = &b; // 错❌️
3)、指针常量指针
- 既不能修改值,也不能修改指向
const int* const p = &a;
3、const引用传参
- 函数的参数使用const进行修饰
- 优点:
- 避免拷贝,传递引用
- 防止参数被修改,const保护作用
- 可接受临时变量 printData("hello");
void printData(const std::string& str) { }
4、const成员函数
- 在成员函数声明末尾加const,表示该函数不会修改任何非静止成员(变量mutable成员除外)
- 特点:const对象只能调用const成员函数
class Student {
private:
mutable int cache_hits; // 即使const函数也可以改
int age;
public:
// const成员函数内,this被隐式视为 const Student* const this
int getAge() const {
// age = 10; // ❌ 编译报错
cache_hits++; // ✅ 允许,因为mutable
return age;
}
};
5、const修饰函数返回值
- 返回引用防止返回值修改
const Student& getStudent() { return stu; } // 返回引用防修改
const int getValue() { return 1; } // 防止 (a = getValue()) = 3 这样的左值赋值操作
三、指针常量、常量指针与 指针int* 的相互赋值
- 底层const (const int *),规定指向的值不能改变,赋值给int*后,约束破坏了,他可以修改对象的值
- 顶层const (int* const), 指向的指针不能改变,但是对象值可以改变,不受影响
四、constexpr与const的区别
- const是运行时常量,只读契约
- constexpr是编译器常量。
相关文章
- 有哪些类似deepseek的软件 06-24
- 腾讯有款三国游戏叫什么 2026流行的腾讯手游排行榜 06-24
- 次元姬小说如何换绑手机号 06-24
- 《虚空之剑术士技能搭配攻略》(发挥虚空之剑的最大威力,成为无敌的剑术士!) 06-24
- centos crontab如何更改任务的执行命令 06-24
- centos crontab 怎样删除已有的任务 06-24