gpt4 book ai didi

c++ - C++中匿名命名空间和匿名范围有什么区别?

转载 作者:太空宇宙 更新时间:2023-11-03 10:41:56 45 4
gpt4 key购买 nike

有什么区别:

namespace {
// code
} // anonymous namespace

{
// code
}

我的理解是:

  1. 我们不能在函数内写命名空间
  2. 我们不能在函数外写匿名 block
  3. 匿名命名空间生命周期长,可以扩展;匿名作用域不会,一切在离开作用域时都会被销毁。

我错过了什么吗?

最佳答案

存在巨大差异。

匿名命名空间中的任何内容仅对该编译单元可见。 (它有点类似于 static 的一种特殊用法)。您不能将语句放入匿名 namespace 。

{ } 是一个范围 block 。它可以包含语句

关于c++ - C++中匿名命名空间和匿名范围有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33958355/

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