C++ 为什么这段代码会移位0,然后进行比较?

C++ 为什么这段代码会移位0,然后进行比较?,c++,C++,代码- uint32 MagicNumber; *LocalFileArMagicNumber和FileVersion的值未知,因为您尚未初始化它们。在形式上,读取未初始化的uint32的行为是未定义的(唯一不能包含陷阱表示的类型是无符号字符) 假设,我敢肯定这个,再看一看,我敢肯定你是对的。它将一个值从LocalFileAr反序列化到变量中(我想?)*LocalFileAr的类型是什么?是否将LocalFileAr中的值分配给变量?箭头 uint32 MagicNumber;

代码-

uint32 MagicNumber;

*LocalFileArMagicNumber
FileVersion
的值未知,因为您尚未初始化它们。在形式上,读取未初始化的
uint32
的行为是未定义的(唯一不能包含陷阱表示的类型是
无符号字符


假设
,我敢肯定这个
,再看一看,我敢肯定你是对的。它将一个值从LocalFileAr反序列化到变量中(我想?)
*LocalFileAr
的类型是什么?是否将LocalFileAr中的值分配给变量?箭头

    uint32 MagicNumber;
    *LocalFileAr << MagicNumber;

    uint32 FileVersion;
    *LocalFileAr << FileVersion;

    if ((MagicNumber == LocalFileReplay::FileMagic) && (FileVersion == LocalFileReplay::FileVersion))
    {