c++入門代碼 「只要是微軟的C ,都是不標準的,而且IDE龐大,C 11的特性都沒支持全」是真的嗎?
「只要是微軟的C ,都是不標準的,而且IDE龐大,C 11的特性都沒支持全」是真的嗎?也許有,但沒關系。我擔心微軟編譯器遭到攻擊。我沒想到會寫一個位字段。這意味著盡管您聲明您是一個布爾(8位),
「只要是微軟的C ,都是不標準的,而且IDE龐大,C 11的特性都沒支持全」是真的嗎?
也許有,但沒關系。我擔心微軟編譯器遭到攻擊。我沒想到會寫一個
位字段。
這意味著盡管您聲明您是一個布爾(8位),但我只能占用1位空間。
例如,盡管上面的結構中有三個布爾,但它們只占用一個字節(jié)的空間。您也可以定義八個bool變量,但它們?nèi)匀徽加靡粋€字節(jié)。
(個人觀點)這種方式可能是為了節(jié)省內(nèi)存。例如,bool變量只需要1位來表示所有信息,但是必須占用1個字節(jié)(8位),因此浪費了7倍的空間。編譯器將為您執(zhí)行位操作,以確保值和賦值是正確的,但您無法再獲取它們的地址。
例如,名為rgb565的顏色空間可以通過這種方式為每個像素節(jié)省1字節(jié)的空間-cppreference.com網(wǎng)站