タグ

2014年12月14日のブックマーク (2件)

  • C言語で可変長引数をとる関数を、型安全に書く方法

    C言語の可変長引数は、型安全でない(まちがった型の引数を渡してもコンパイルエラーにならない)とされています。これは言語仕様の理解としては正しいのですが、特定の型の引数を任意の個数とる関数に限っては、マクロを使うことで型安全性を確保することができます。 任意の個数のdoubleを引数にとり、その和を返す関数「sumf」を例にあげて説明します。 C言語の可変長引数機構を使ってsumfを定義すると、以下のようになります。 #include <math.h> #include <stdarg.h> #include <stdio.h> static double sumf(double nfirst, ...) { double r = 0, n; va_list args; va_start(args, nfirst); for (n = nfirst; ! isnan(n); n = va_a

    decoy2004
    decoy2004 2014/12/14
    __VA_ARGS__ マクロは知らなかった。
  • Emacsを快適に使うファイル周りの設定紹介 - Qiita

    こんにちは 毎日元気に Emacs を使って生活しています. 今回は私が使っている Emacs でのファイルの開き方や作成方法などの話を書きます. 基的な操作ですが,改めて解説することでなにか得られることがあれば幸いです. recentf-ext 世の中には 8:2 の法則というものがあります. 私の体感的には全体の 2 割のファイルを開くことに 8 割の時間を使っていてそれ以外のファイルを開くことはめったにありません. なので最近開いたファイルを見れておくようにしておくのはエディタの使い勝手としては重要です. 最近では recentf-ext から C-s などで検索して該当ファイルかそれに一番近いファイルを開いてから辿って開きたいファイルを開く事がほとんどです. また recentf-ext なら後述の tramp-mode で開いたファイルも同様に表示されるのも非常にお勧めです.

    Emacsを快適に使うファイル周りの設定紹介 - Qiita