unsigned int a = -1;html
printf("a = %d", a);函數
printf("a = %u", a);lua
int b = 3012345678;spa
printf("b = %d", b);htm
printf("b = %u", b);blog
輸出結果:繼承
a = -1class
a = 4294967295di
b = -1282621618co
b = 3012345678
說明:編繹器賦值時無論你是有符號仍是無符號,它眼中只有一個32位的存儲空間。給負數就按補碼的形式存,給正數就按原碼的形式存。至於讀的時候,你是解讀爲有符號仍是無符號,隨便你。
---------------------------------------------------------------------------------------------
int d = -1;
unsigned int e = 9999;
if (d > e)
puts("- 1 > 9999"); //邪惡的代碼
else
puts("9999 > -1"); //正義的代碼
輸出結果:
-1 > 9999
說明:邪惡打敗了正義,由於無符號和有符號兩個數比較時,會默認轉成無符號數,再進行比較。
-----------------------------------------------------------------------------------------------
C++小貼士:類的靜態函數能夠被繼承,但不能被重寫。
原文出處:https://www.cnblogs.com/heluan/p/10414340.html