Logo

关于 const 的一点说明

const 关键字用于声明一个不可更改的变量或常量。一旦变量被声明为 const,其值在初始化后就不能再被修改。它常用于定义程序中不会改变的值,如数学常数、配置参数等。使用 const 可以提高代码的可读性和安全性,防止意外修改数据。在 C++ 和 JavaScript 等语言中,const 还可用于函数参数、返回值和类成员,以明确表达意图并优化性能。

概念

关于 const 的一点说明

const 关键字用于声明一个不可更改的变量或常量。一旦变量被声明为 const,其值在初始化后就不能再被修改。它常用于定义程序中不会改变的值,如数学常数、配置参数等。使用 const 可以提高代码的可读性和安全性,防止意外修改数据。在 C++ 和 JavaScript 等语言中,const 还可用于函数参数、返回值和类成员,以明确表达意图并优化性能。

const 关键字用于指定一个值为“常量”,一旦初始化后便不可更改。这很有用,因为它可以通过减少程序环境中可变元素的数量来降低程序的复杂性。然而,在使用 const 变量时我们也必须谨慎,因为一旦声明为 const,就无法撤销这一设定。

如果某样东西可以被声明为 const,我们就应该将其声明为 const。这是对编译器最起码的尊重。

许多资深 C++ 开发者会向初级开发者提出上述建议,但自己却常常未能遵守!

很容易在声明变量时不加 const,因为我们知道它的值永远不会改变。然而,编译器并不知道这一点。

毕竟,编译器还不能思考,至少目前还不能。

编译错误通常很容易尽早发现,但悬空引用或因多余拷贝导致的性能下降可能更难察觉。

希望这些问题能在代码审查阶段之前就被发现,最晚也应在 代码审查 阶段。

如何使用 const 关键字

在本课程中,你将学习如何在不同场景下使用 const 关键字,例如:

  • `const` 函数
  • `const` 局部变量
  • `const` 成员变量
  • `const` 返回类型
  • `const` 参数
  • `const` 与智能指针
  • 右值引用
...

尽管 constexpr、consteval 和 constinit 与 const 相关,但本课程不会涉及这些内容。

为 const 辩护:常见反对意见