gpt4 book ai didi

C++ 命名空间和静态变量

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:28:46 26 4
gpt4 key购买 nike

我有一个要求,其中一个 (const) 变量应该在由多个类组成的整个 cpp 中可用。我决定使用命名空间来解决问题,但不确定以下几点:

  • 我需要将此变量定义为静态变量吗?
  • 是否只有在使用未命名的命名空间时才能避免将变量设为静态?

最佳答案

  1. 不需要将变量定义为静态变量,或在匿名命名空间中。但是,如果您不在定义该对象的文件之外使用该对象,那么减少命名空间污染和加快链接速度(通过减少链接器需要考虑的符号数量)是个好主意。
  2. 如果您在匿名命名空间中声明一个变量,它实际上是静态的。实际上也没有必要将其设为静态(但如果您愿意,也可以)。匿名命名空间的优点是您还可以定义类型(类、结构、枚举、typedef)以及静态变量和函数。

关于C++ 命名空间和静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8549659/

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