"name::name"在C++中意味着什么?

What does "name::name" means in C++?

本文关键字:name 什么 意味着 C++      更新时间:2023-10-16

我希望有人向我解释"name::name"语法以及如何在C++编程中使用它。我一直在看,但我还没有明白。感谢您的帮助。

下面是上下文代码:

void UsbProSender::SendMessageHeader(byte label, int size) const {
    Serial.write(0x7E);
    Serial.write(label);
    Serial.write(size);
    Serial.write(size >> 8);
}

::是作用域解析运算符。

std::cout是命名空间stdcout的名称。

std::vector::push_back是 std::vector 的push_back方法。

在代码示例中:

void UsbProSender::SendMessageHeader(byte label, int size) const {
    Serial.write(0x7E);
    Serial.write(label);
    Serial.write(size);
    Serial.write(size >> 8);
}

UsbProSender::SendMessageHeaderUsbProSender 类的 SendMessageHeader 方法提供定义。

另一个(更完整(示例:

class Bar {
    int foo(int i); // forward declaration
};
// the definition
int Bar::foo(int i) {
    return i;
}
它是

作用域解析的运算符。考虑该代码

class A { public: void f(){} };
class B { public: void f(){} };
class C : public A, public B {};
int main(int argc, char *argv[])
{
    C c;
    //   c.f(); //  ambiguous: which one of two f() is called?
    c.A::f(); // OK
    c.B::f(); // OK
    return 0;
}