首页 >后端开发 >C++ >为什么 C 和 C 对命名空间范围'const”对象的处理不同?

为什么 C 和 C 对命名空间范围'const”对象的处理不同?

Patricia Arquette
Patricia Arquette原创
2024-12-04 08:53:11488浏览

Why Do C   and C Differ in Their Treatment of Namespace-Scope `const` Objects?

C 与 C 中与 Const 的内部链接

众所周知,在 C 中在命名空间范围内声明 const 对象会导致内部链接,与 C 中观察到的行为相反。

这种区别背后的基本原理在附录 C 中进行了解释C 11 标准(C.1.2 节)。它指出文件范围的 const 对象仅限于内部链接,即使没有显式的 extern 声明也是如此。此更改有两个目的:

  1. 鼓励显式初始化器:通过限制文件中 const 对象的链接,鼓励程序员在声明期间显式指定初始值。
  2. 头文件包含:此功能允许将 const 对象放置在跨头文件包含的头文件中多个编译单元。

以上是为什么 C 和 C 对命名空间范围'const”对象的处理不同?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn