轉貼自 寫程式為何要內縮
#define FOR(start, end, exp) \ { \ for (int n__ = start; n__ < end; ++n__) \ { \ (exp); \ } \ }因為#define 只能寫成一行,所以必須用跳脫字元排版,此例子常見於Linux內核(kernel)以及驅動程式中,但C++中討厭巨集所以幾乎很少用。
#define FOR(start, end, exp) \ { \ for (int n__ = start; n__ < end; ++n__) \ { \ (exp); \ } \ }因為#define 只能寫成一行,所以必須用跳脫字元排版,此例子常見於Linux內核(kernel)以及驅動程式中,但C++中討厭巨集所以幾乎很少用。
常見用於巨集的函數排版,
"and possibly a \ escaping the newline"
- Auto-newlines - CC Mode Manual (在「Google 網頁註解」中檢視)
自動換行觸發字符有,左右括號,冒號,分號以及逗號。
參考來源:"when you type a left or right brace, a colon, a semicolon, or a comma."
- Auto-newlines - CC Mode Manual (在「Google 網頁註解」中檢視)
啟動時自動縮排,當自動換行模式啟用,
";,"
- Electric Keys - CC Mode Manual (在「Google 網頁註解」中檢視)
啟動條件是模版宣告情況或串流運算子呼叫情況,
"<>"
- Electric Keys - CC Mode Manual (在「Google 網頁註解」中檢視)
啟動的話當前面第一及第二個字元是是註解運算子,
"*/"
- Electric Keys - CC Mode Manual (在「Google 網頁註解」中檢視)
當c-electric-pount-behavior 設成 alignleft 時,插入#且此行左邊無「非空白字元」時,
"#"
- Electric Keys - CC Mode Manual (在「Google 網頁註解」中檢視)