閑古鳥

オールドプログラマの日記。プログラミングとか病気(透析)の話とか。

2008-01-01から1年間の記事一覧

F#

F#

関数型言語の勉強をしようかとF#をインストールしてみました。インストールしたら自動的に Visual Studio からプロジェクトを作成できるようになるようです。とりあえずこんにちは世界から。.NET Frameworkを使用できるので、フォームにボタンを置いて、ボタ…

CINT

C++

CINTというC/C++のインタプリタがredditで紹介されていたので試しに入れてみました。404 Not FoundWindows版はコンパイル済みのバイナリがあるので、それを使うと簡単です。cint.exeを起動して、適当に打ち込んでみます。 cint.exe> { char* str = "Hello wo…

プラズマテレビを買いました

先日Amazonで注文したテレビが届きました。ダンボールを縦にすると自分の首くらいまであります。あまりの重さにひぃひぃ言いながらダンボールから出し、やっと録画した番組を見られるところまできました。1時間以上かかった……。容量節約のために一番低い画質…

オーバーロード関数をアルゴリズムに渡す

C++

高階関数へオーバーロードされた関数を渡す - Faith and Brave - C++で遊ぼう関数オブジェクトをかますとキャストが不要になるようです。余計回りくどくなっている気もしますが……。 #include <string> #include <vector> #include <algorithm> using namespace std; double stod(const s</algorithm></vector></string>…

不完全クラスのdeleteに注意

C++

pImplイディオムを使っているところでメモリリークしていた。調べてみると、pImplクラスの解放をauto_ptrに任せていたのが原因らしい。orz // Hoge.h class Hoge { Hoge(); private: struct pImpl; std::auto_ptr<pImpl> impl; }; // Hoge.cpp struct Hoge::pImpl {</pimpl>…

CrashFinder

アプリケーションの動作確認をしている時に実行時エラーが発生したのですが、デバッガで止まるところがどうも怪しく原因がさっぱりわからないという事態に陥ってしまったので、エラーメッセージに含まれるアドレスから本当にエラーが発生している箇所を探そ…

三項演算子を入れ子にすることでインラインで分岐(else if)する

C++

int hoge = true ? 0 : false ? 1 : 2; しかしこういうスタイルは可読性が悪いので使用しないほうが良いでしょう。いやちょっとしたプログラム書いてるときにif書くの面倒だなあと思ったら出てきたので。ちゃんとした(?)プログラムでは使うつもりはないです…