【发布时间】:2012-07-13 11:19:49
【问题描述】:
可能重复:
Set all bytes of int to (unsigned char)0, guaranteed to represent zero?
我在结构中有以下匿名联合:
union
{
unsigned value;
char name[4];
};
我可以替换下面的代码吗:
name[0] = 0;
name[1] = 0;
name[2] = 0;
name[3] = 0;
用下面的代码?
value = 0;
【问题讨论】:
-
我认为归结为 - stackoverflow.com/questions/11373203/… - 对吧?
-
@LuchianGrigore 没有。这是写作。
-
@R.MartinhoFernandes 是的,但我假设他以后也想从中读取,否则就不需要归零,对吧?
-
如果只是字节表示和写入的问题,这个问题很相关:Set all bytes of int to (unsigned char)0, guaranteed to represent zero?
-
@LuchianGrigore 我不想再讨论这个了,我要去吃午饭了,但是你可以用指针或对 char 的引用来给任何东西起别名。我之前在这里提到过:stackoverflow.com/a/10272228/46642 这是一个有争议的话题,所以不要把我的话当成证据。
标签: c++ c undefined-behavior unions