在下面的程序:奇怪結果與類型鑄造
int main(){
int i = 0x52554153;
const char *s = reinterpret_cast<const char*>(&i);
std::string *s1 = new std::string(s);
std::cout<<"word is "<<*s1<<std::endl;
return 0;
}
我將4字節INT爲4字節的「const字符」字符串。我用過的整數值只不過是字符串「RUAS」的ascii值的集合。我期待在「cout」聲明中獲得相同的結果。但它打印出「SAUR」,與我所提供的完全相反。 請解釋我的輸出。
你的處理器的字節順序是Little Endian。更多信息:http://en.wikipedia.org/wiki/Endianness – Juho