0
最近我讀了一個人實現他自己的printf使用宏_bnd(x,bnd),但我不明白宏的意思是什麼。宏_bnd(X,bnd)是什麼意思?
#define _bnd(x, bnd) (sizeof(x) + (bnd) & ~(bnd))
我知道位運算符和的sizeof()
最近我讀了一個人實現他自己的printf使用宏_bnd(x,bnd),但我不明白宏的意思是什麼。宏_bnd(X,bnd)是什麼意思?
#define _bnd(x, bnd) (sizeof(x) + (bnd) & ~(bnd))
我知道位運算符和的sizeof()
它的內部實現的魔法,與實施相關的參數可變參數 函數的地址的 性能發揮。
除非你需要知道這一切是什麼意思,可能最好 遠離它。否則,它可能會誘使你依靠它。
而且宏應該是
#define _bnd(X, bnd) (sizeof(X) + (bnd) & ~(bnd))
^
check in your post
您也可以通過只擴大基本arrithmetic operation.For這個你應該知道sizeof()和tilde operator和bitwise operatior知道。
不應該是'sizeof(x)'? (請注意情況)。 – Bathsheba
我認爲它會檢查sizeof(x),並將該值存儲在一個長度爲BND的數字中。這可能是一個字節,整型,短整型,長整型,雙等等 – eventHandler
是的,它是sizeof(x),我拼錯它 – Zik