在工作中,我们有以下构造可以将 IP 地址解释为 4 字节数组或 32 位整数:
union IPv4
{
std::uint32_t ip;
std::uint8_t data[4];
};
这很好用,但在阅读C++ 编码标准一书的第 97 章“不要使用联合重新解释表示”后,我有点担心。书中的例子更隐蔽,我不确定它是否适用于我的代码。
我的代码有任何潜在问题吗?
在工作中,我们有以下构造可以将 IP 地址解释为 4 字节数组或 32 位整数:
union IPv4
{
std::uint32_t ip;
std::uint8_t data[4];
};
这很好用,但在阅读C++ 编码标准一书的第 97 章“不要使用联合重新解释表示”后,我有点担心。书中的例子更隐蔽,我不确定它是否适用于我的代码。
我的代码有任何潜在问题吗?