當使用引數呼叫巨集時,會將引數替換為巨集主體,並與其他輸入檔案一起檢查結果,以進行更多的巨集呼叫,可以將部分來自巨集主體和部分自變數的巨集呼叫組合在一起。例如,
#define twice(x) (2*(x))
#define call_with_1(x) x(1)
call_with_1 (twice)
//x=1
→ twice(1)
→ (2*(1))
巨集定義不必帶有括號,通過在巨集主體中編寫不平衡的開放括號,可以建立乙個從巨集主體內部開始但在巨集主體外部結束的巨集呼叫。例如,
#define strange(file) fprintf (file, "%s %d",
…strange(stderr) p, 35)
→ fprintf (stderr, "%s %d", p, 35)
組合巨集呼叫的功能可能會很有用,但是在巨集主體中使用不平衡的開放括號只會造成混淆,應該避免。
在大多數巨集定義示例中,每次出現的巨集引數名稱都帶有括號,並且另一對括號通常會包圍整個巨集定義,這是編寫巨集最好的方式。舉個例子
#define ceil_div(x, y) (x + y - 1) / y
假定其用法如下:
a = ceil_div(b&c,sizeof(
遵循這7個原則,能讓你的網頁使用者體驗更優秀
作為使用者,在很多時候會很容易判斷出乙個 的使用者體驗是否優秀,因為主觀感受是很難被欺騙的。但是作為 的設計者和開發者,角色轉換之後,所需要面對問題就複雜得多。身為構建者,要讓體驗盡善盡美需要花費大量的時間精力來完善整個體驗的閉環。今天為你所整理的這 7 個 ux設計的原則,能夠幫你更好地進行 的 ...
避免雲混淆 成本控制的5個誤區
經過初步的較量之後,雲計算基礎設施和服務的採用已經成為主流。短短的幾年,絕大多數的科技支出將與雲計算相關。這並不意味著雲計算的路徑是沒有障礙。現在是時候制定出必要的做法,以確保雲計算技術的成功部署 節約成本,可擴充套件性和靈活性。由於企業使用者可以推出新的服務和應用程式時繞過它,控制成本已成為乙個重...
避開這2個誤區,測試目標 KPI 不再難設
誤區一 我能做什麼,就做什麼?我們在講測試能力建設的時候,往往會說我們有什麼樣的問題,所以要建什麼樣的測試能力,要做到什麼樣之類。這裡經常能看到大家在設定目標的時候,思考路徑往往是 我能做什麼,我要怎麼做 比如,海外沒有真機環境,所以我們需要建設海外真機環境。接下去就會想到我們在海外有辦公室,所以上...