我想实现一个基类,作为接口(interface)为派生类发送 UDP 消息。因此,我想将“sockaddr_in”声明为静态的,以便派生类之间只有一个拷贝可用。
如果我将“sockaddr_in”声明为静态的,那么我该如何初始化这个结构?
最佳答案
与初始化任何其他变量的方式相同。您只需对其进行限定,以便编译器可以找到它:
class MyClass
{
public:
static sockaddr_in address;
};
sockaddr_in MyClass::address = {0};
void doSomething()
{
MyClass::address.sin_family = AF_INET;
MyClass::address.sin_addr.s_addr = ...
MyClass::address.sin_port = ...
...
}
关于c++ - 在 C++ 中使用静态 sockaddr_in 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28310716/