2010-05-01から1ヶ月間の記事一覧

汎用的な CSV リーダーを作ってみた

C++

いやまあ、もうこんなの巷にいくらでも溢れてるだろうけど。 こいつの特徴は、どのヘッダにも依存しないってこと。 iterator_traits のために を使いました。まあでも とかそういうバイナリに影響するものじゃないし、これぐらいならいいよね? テンプレート…

.svnフォルダ消したい

貰ったデータに入ってることってよくあるよね。消したいよね。とか思ったのでこんなバッチ作ってみた。 @FOR /R %%I IN (.) DO @IF "%%~nxI"==".svn" @RMDIR "%%~dpnxI" /S /Q && @ECHO removed "%%~dpnxI" 実行したバッチのフォルダより下にある .svn フォ…

const_cast の仕様

まあ調べたかったのは、const_cast して未定義動作になるのはどんな場合かってだけなんだけど、ある程度翻訳したので一応載せてみる。 式 const_cast(v) の結果は T である。もし T が lvalue reference 型か function 型への rvalue reference 型である場合…

プログラムを書くということ

C++

自分にとって、プログラムを書くということは、コンパイラに対して意味を与える作業だと考えるようになりました。 意味というのは型だったりconstだったり。あとプログラムの流れというか文脈とかもあります。 型は具体的であればあるほど、コンパイラが意味…

ローカル変数に対するconst

C++

って付けるべきなのか付けないべきなのかーと少し考えてみました。 constを付けるメリットとしてよく聞くのが、 struct Hoge { int v; void reset(int n) { v = n; } }; void f() { const int n = 100; const Hoge h = { 10 }; ... // いろいろな処理 n = 50…