C++ const 的3个核心作用

  1. 修饰变量:定义常量,变量值不可修改

cpp

const int a = 100;

a = 200; // 编译报错,不能修改

  • 作用:防止意外修改,增加代码可读性;编译期检查,比 #define 宏更安全(有类型信息)。
  1. 修饰指针(区分 const int* / int* const )
  • const int* p :指向的内容不可改,指针本身可以改

  • int* const p :指针本身不能改(地址固定),指向内容可以改

  1. 修饰类的成员函数(const成员函数,C++特有)

cpp

class Test{

public:

void func() const{

// 函数内部,不能修改类的成员变量

}

};

作用:承诺这个成员函数不会修改对象的数据,只能读取成员。const对象只能调用const成员函数。

额外补充:

  1. 修饰函数形参: void fun(const string &s)

用const引用,避免拷贝,同时保证函数内不会修改传入参数,保护实参。

一句话总结:

const的本质:给编译器承诺,这个东西只读,禁止修改,编译器帮我们做检查。

相关推荐
HideF6 小时前
Linux
linux·服务器·网络
C^h6 小时前
c++ string
开发语言·c++
听风说ml6 小时前
socket编程 【C语言】
c语言·udp·tcp·socket编程
raindayinrain6 小时前
c++高性能--原子操作,无锁编程,操作顺序
开发语言·c++·性能优化
学逆向的6 小时前
C++ 合并命名空间
开发语言·c++·网络安全
Zhao-Jichao6 小时前
VS2026 打包 C++ 程序生成 EXE,借助 Installer Project 扩展工具
开发语言·c++
学逆向的7 小时前
C 局部静态变量
c语言·开发语言·网络安全
小徐不徐说7 小时前
C++ 接口与插件设计:从工厂注册到 Qt 动态插件
数据库·c++·qt·系统架构·程序设计
大都督会赢的7 小时前
C++第一节课
开发语言·c++
UIU1147 小时前
P1233 [ICPC 2001 Taejon R] 木棍加工
数据结构·c++·算法·动态规划