"A::B::C v;" 是否意味着 A 和 B 是命名空间而 C 是 class?

Does "A::B::C v;" means that A and B are namespaces and C is a class?

当您看到类似

的指令时
A::B::C v;

代码中,是否意味着AB是某些头文件中定义的命名空间,并且C 命名空间 中的 class B?

可能有以下三种可能:

namespace A {
    namespace B {
        using C = int; // some types
    }
}

namespace A
{
    struct B
    {
        using C = int;  // some types
    };
};

struct A
{
    struct B
    {
        using C = int;  // some types
    };
};

您需要查看源代码才能确认!