【问题标题】:What does :: operator mean in C++ when it's used at the beginning [duplicate]开头使用 :: 运算符在C ++中的含义是什么[重复]
【发布时间】:2021-04-09 07:11:42
【问题描述】:
  double timestamp = ::a::b::c::NowInSeconds();

已经知道::在变量选择中的使用,但是它在开头使用后跟一个函数(指定命名空间)是什么意思?

【问题讨论】:

标签: c++


【解决方案1】:

最初的:: 用于明确指定其后的名称位于全局/默认命名空间中,而不是位于范围内的任何其他命名空间中。这是一个可能有用的示例:

int a;

namespace b {
   int a;
};

using namespace b;

int main(int, char **)
{
   a = 5;   // error, reference to 'a' is ambiguous

   ::a = 5;   // ok
}

【讨论】:

    猜你喜欢
    • 2015-07-16
    • 2019-09-12
    • 2020-05-26
    • 2015-09-06
    • 2021-03-29
    • 2011-08-25
    • 2021-04-14
    • 1970-01-01
    • 2015-10-29
    相关资源
    最近更新 更多