gpt4 book ai didi

c++ - 为什么 const 在 C++ 中暗示内部链接,而在 C 中却没有?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:49:21 24 4
gpt4 key购买 nike

见主题。他们在想什么?

更新:从“静态”更改为“内部链接”以避免混淆。

举个例子...将以下内容放入文件中:

const int var_a = 1;
int var_b = 1;

...并使用 g++ -c test.cpp 编译仅导出 var_b

最佳答案

我相信你的意思

Why does const imply internal linkage in C++

的确,如果您在命名空间范围内声明一个 const 对象,那么它就有内部链接。

附录 C(C++11、C.1.2)给出了基本原理

Change: A name of file scope that is explicitly declared const, and not explicitly declared extern, has internal linkage, while in C it would have external linkage

Rationale: Because const objects can be used as compile-time values in C++, this feature urges programmers to provide explicit initializer values for each const. This feature allows the user to put const objects in header files that are included in many compilation units.

关于c++ - 为什么 const 在 C++ 中暗示内部链接,而在 C 中却没有?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31952636/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com