首页 > 后端开发 > C++ > 为什么 C 的 `const` 对象有内部链接,而 C 的没有?

为什么 C 的 `const` 对象有内部链接,而 C 的没有?

Mary-Kate Olsen
发布: 2024-12-01 01:48:14
原创
1005 人浏览过

Why Do C  's `const` Objects Have Internal Linkage While C's Don't?

C 中 Const 隐含的内部链接与 C 不同

在 C 中,命名空间内声明的 const 对象具有内部链接,这与C的做法。此行为源于 const 对象在 C 中作为编译时常量的潜在用途。

C 11 标准 (C.1.2) 的附录 C 解释了此更改背后的基本原理。该规则鼓励程序员显式初始化 const 对象,提高一致性并允许将它们包含在跨编译单元共享的头文件中。

例如,考虑以下示例:

const int var_a = 1;
int var_b = 1;
登录后复制

编译此使用 g -c test.cpp 的代码仅导出变量 var_b。这是因为 const 变量不能在外部使用,与 C 不同。

以上是为什么 C 的 `const` 对象有内部链接,而 C 的没有?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板