asio::ip::address_v6
接受bytes_type
一个参数,它基本上是boost::array
网络字节顺序的。
void *
我在变量中有一个 RAW IPv6 地址。void *
将 a变成 a的最快方法是asio::ip::address_v6
什么?最好使用构造函数。
asio::ip::address_v6
接受bytes_type
一个参数,它基本上是boost::array
网络字节顺序的。
void *
我在变量中有一个 RAW IPv6 地址。void *
将 a变成 a的最快方法是asio::ip::address_v6
什么?最好使用构造函数。
你不能比初始化一个更好的了asio::ip::address_v6::bytes_type
,它实际上可以是 astd::array
或 a boost::array
:
// We need an unsigned char* pointer to the IP address
unsigned char *youraddr = reinterpret_cast<unsigned char*>(your_void_ptr);
asio::ip::address_v6::bytes_type myaddr;
// Copy the address into our array
std::copy(youraddr, youraddr + myaddr.size(), myaddr.data());
// Finally, initialize.
asio::ip::address_v6 ipv6(myaddr);
请注意,如果您能够修改该结构,显然直接存储 abytes_type
而不是 that会更好。void*