当union成员是整数时,end -ness会影响它们吗?


union Chunk
{
struct { uint32_t index, total; } m_;
uint64_t m_PlaceHolder;
} chunk;
chunk.m_.index = 1;
chunk.m_.total = 2;
SendOverTCPNetwork(chunk.m_PlaceHolder); // different platform OS will receive this

为2个整数设置union成员,然后通过TCP网络发送一个(组合的)长整数,如上面的伪代码所示。

:将源机的端序&;目标机影响chunk变量的值?

换句话说,我们在另一边会收到相同的值吗?

源机器的尾端长度是否;目标机器影响块变量的值?

是的。端序性影响所有整数,即使它们是类的成员。(当然signed charunsigned char除外)


SendOverTCPNetwork(m_PlaceHolder);

如果没有对象,就不能访问非静态成员。示例程序格式错误。

最新更新