タグ

2011年7月30日のブックマーク (3件)

  • 参照を保持するコンテナ - Faith and Brave - C++で遊ぼう

    同じ基クラスを継承したクラスのオブジェクトがいくつかあり、それらをまとめて扱いたい場合と、専門特化して扱いたい場合、両方が同時に必要なことがたまにあります。 そんなときに、オブジェクトの参照を保持するコンテナが必要になるのですが、どうやらboost::reference_wrapperのコンテナを使用すればいいようです。 こんな感じになりました。 #include <iostream> #include <string> #include <vector> #include <boost/ref.hpp> #include <boost/assign/list_of.hpp> #include <boost/foreach.hpp> struct Base { // 共通で使用する関数 void print() const { std::cout << "print" << std::e

    参照を保持するコンテナ - Faith and Brave - C++で遊ぼう
  • VimでGrepする覚え書き 1/2 「内部grep」編 - ナレッジエース

    VimでGrepが使えるのは分かっちゃいるものの、どうもまだ以前からの使い慣れたツール(私の場合はJGREP2)を使ってしまっていたので、ここらで一度VimのGrepについてまとめておきます。 せっかくの便利な機能ですから、やっぱり使いこなしておきたいですね。 以下、まずはVimの標準機能を活用するための解説から。 Vim7からは標準でgrep機能が備わっています。 以下のようにコマンドを実行すると便利。 :vim[grep] /hogehoge/j *.txt | cw これでカレントディレクトリにある全ての.txtファイルから「hogehoge」を検索し、マッチした結果がQuickFixに表示されます。 ちなみに「j」オプションはマッチしたファイルへ自動的にジャンプしない指定、そして「| cw」はマッチしたファイルがあった場合にQuickFixを開きます。 毎回「| cw」を付けるのが

  • vim vimgrepやmake後にQuickFixウィンドウを自動的に開く方法

    vimで文字列の検索(grep/vimgrep)をしたり、コンパイルなどの ためにmakeを実行します。 :vimgrep printf % :make と言ったことです。 :copen すれば、QuickFixウィンドウを表示することができ、見つかった文字列や コンパイルエラーなどの表示をリストで見ることができます。 コマンドを打つときに :vimgrep fork %|cwin とすれば、明示的にQuickFixウィンドウをはじめから表示することも 可能ですが、これは面倒です。毎回、5文字を余分に打たなければなりません。 1万回やったら、5万キャラクタも打ってることになります。 流石に5万キャラクタを入力する総合計時間は、 1分間に200文字しか打てないと仮定した場合、 250分程度です。つまり4.1時間ぐらいです。 4時間あれば、なにか1つプログラムが書けてしまう勢いです。 そこで、