2008-03-19 (水)
なんか,変わった?
*電波時計
安かったのでまた買ってみた.ただ,受信感度がかなり悪い.
*C++
昔書いたC++のプログラムに面白いものがあった.参照をtypedefしてハンドルのように使っている.某スクリーンセーバのプラグインのインターフェイスを設計したときに試しに書いたものっぽい.
#include <iostream> using namespace std; typedef class C1 &C; class C1 { protected: C1(){ cout << "C1()" << endl; } virtual ~C1(){ cout << "~C1()" << endl; } public: static C get(){return *new C1;} void release(){delete this;} }; class C2 : public C1 { protected: C2(){ cout << "C2()" << endl; } ~C2(){ cout << "~C2()" << endl; } public: static C get(){return *new C2;} }; int main(){ C c=C2::get(); c.release(); return 0; }
STLとかと一緒に使うと面倒なことになりそうだ….