2011-10-01から1ヶ月間の記事一覧

カレント行にアンダーラインを引く

vim

Vimでカレント行にアンダーラインを引く。 カレント行全体に色が着くのが嫌なので、下線だけ引くように設定。 " カレント行ハイライトON set cursorline " アンダーラインを引く(color terminal) highlight CursorLine cterm=underline ctermfg=NONE ctermbg…

カンマ・オペレータ

C

これは使えそう。 Comma operator - Wikipedia x = (a, b); y = (a, b, c); っていう処理があった場合、xにはaの処理をした後にbがxに代入される。 同じくyには、aとbの処理がされた後にcがyに代入される。 int x; int a=0, b=1, c=2; x = (printf("a=%d \n"…

マクロをdo-while(0)で囲むワケ

C

こんな感じで書かれたマクロを見ることがある。 #define SWAP(x, y) do { int temp = x; x = y; y = temp; } while(0) do-while(0)で囲んでいるのは、ブロックで囲まれていないif文での意図しない動作を防ぐため。 例えば、以下の場合に有効。 /* do-while(0…