Joh*_* Li 6 c++ namespaces unnamed-namespace c++-modules
C++20 引入了模块。任何未在模块中导出的符号都具有模块内部链接。虽然未命名命名空间提供了一种机制,可以使未命名命名空间内的定义具有文件内部链接。这是否意味着当模块在 C++ 社区中成为普遍做法时,未命名的命名空间将变得毫无用处?
否:由于(许多)编译器一次只看到一个翻译单元,因此它\xe2\x80\x99对于优化仍然有用,以指示实体不能在任何其他中使用。它还避免了模块单元之间发生意外冲突的可能性(即使与更广泛的代码库相比,这种可能性较小)。
\n| 归档时间: |
|
| 查看次数: |
428 次 |
| 最近记录: |