c++中const关键字的用法_C++常量限定与只读保护详解

20次阅读

const用于声明不可修改的变量或 对象 ,提供只读保护。它替代宏定义实现类型安全的 常量 定义,并与 指针 结合形成指向常量的指针、常量指针及二者兼具的形式,语义由 const 位置决定。const 可用于函数参数、返回值和 成员函数 ,防止数据被修改,确保 接口 安全,其中 const 成员函数可被 const 对象调用。类中 const成员变量 需在 构造函数 初始化列表中赋值,静态 const 成员变量需类外定义(c++11 支持内联定义)。const 不仅是语法约束,更是表达设计意图、提升代码安全性与可读性的关键机制。

c++ 中 const 关键字的用法_C++ 常量限定与只读保护详解

在 C ++ 中,const关键字用于声明不可修改的变量或对象,实现数据的只读保护。它不仅是简单的“常量定义 工具”,更是一种语义约束机制,帮助程序员编写更安全、可读性更强的代码。合理使用 const 能提升程序的健壮性和编译期优化能力。

const 修饰基本 数据类型 变量

用 const 修饰变量后,该变量成为编译时常量(或运行时初始化常量),不能被修改。

例如:

const int value = 10;
// value = 20; // 错误:不能修改 const 变量

这种定义方式替代了宏定义 #define,避免预处理带来的副作用,同时支持类型检查。

立即学习C++ 免费学习笔记(深入)”;

const 与指针的结合使用

const 和指针结合时有多种写法,语义不同,需特别注意:

  • const int* p:指向常量的指针,值不能改,指针可以改
  • int* const p:常量指针,指针本身不能改,指向的值可以改
  • const int* const p:指向常量的常量指针,两者都不能改

记忆技巧:const 紧邻哪边,就修饰哪边。若 const 在 * 左边,修饰值;在右边则修饰指针本身。

c++ 中 const 关键字的用法_C++ 常量限定与只读保护详解

商汤商量

商汤科技研发的 AI 对话 工具,商量商量,都能解决。

c++ 中 const 关键字的用法_C++ 常量限定与只读保护详解 36

查看详情 c++ 中 const 关键字的用法_C++ 常量限定与只读保护详解

const 在函数中的应用

const 可用于函数参数、返回值以及成员函数,增强接口安全性。

  • const形参:防止函数内部意外修改传入值
  • const 返回值:适用于返回对象或引用时防止被修改(如重载操作符)
  • const 成员函数:表示该函数不会修改类的成员变量

例如:

class MyClass {
public:
  int getValue() const { return data;} // 不会修改成员
private:
  int data;
};

只有 const 成员函数才能被 const 对象调用。

const 与类成员变量

类中的 const 成员变量必须在构造函数的初始化列表中赋值,不能在函数体内赋值。

class Test {
public:
  Test(int x) : val(x) {} // 正确:初始化列表
private:
  const int val;
};

静态 const 成员变量还需在类外定义一次(C++11 起支持内联定义)。

基本上就这些。const 不只是“不让改”的符号,更是表达设计意图的重要手段。掌握其各种用法,能让代码更清晰、更安全。

站长
版权声明:本站原创文章,由 站长 2025-11-06发表,共计1177字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
1a44ec70fbfb7ca70432d56d3e5ef742
text=ZqhQzanResources