2004-12-01から1ヶ月間の記事一覧

ETC

面白いもんみっけ http://www.ececs.uc.edu/~franco/C321/html/RedBlack/redblack.html

Formatの問題点

C++

前回のFormatクラスは関数内部でstatic変数を使っているので プログラムが終了し、このstatic変数が消滅したあと他のstatic変数から Formatオブジェクトが生成されるとえらいめにあうことが判明。struct SomethingStatic { ~SomethingStatic() { (Format("$"…

ETC

気分転換にテーマを変更 めっちゃしんぷるなった

Formatの続き

C++

早速つくってみました。 結構思ったとおりできたかも。。 使い方は簡単で std::cout のようにすれば$1が文字列のデフォルト書式"%s"に代わります。 std::cout なら"%d"です。 まーこのへんは適当でwちなみに"%03d"とかの指定はCustomForm関数をつかって std…

Format

C++

最近sprintfにstringを突っ込んで実行時にぶっ飛ぶことが多くなってまいりました 素直にboost::formatあたりを使えばいいのでしょうけど勉強もかねて 自作Formatクラスでも作ってみることにします。まずよく間違えるところをあげてみると個人的には①sprintf…

ETC

ExpressionTemplateってやっぱりInterpretパターンに似てる・・たとえば最終的に出来上がるオブジェクトの型名はstruct Plus >まんま解析木みたいだもん。ラムダ式の実装ってみたことないけど出発点はここなのかしら・・struct If

さらに追記

id:ototoiさんに指摘していただいたように const Item&型メンバをconst T&型メンバに変更してみました。 このやり方だとconst T型、つまり値でもいけるみたいです。逆にメンバじゃなく演算子関数の引数のほうでは値は使えません。 const ItemのようなReferen…

追記

あぅ・・CRTPだとreferenceにしないとスライシングがあ;; 意味ないじゃん><

おととひさんのためになるお話(id:ototoi:20041126)を忘れないように・・ついでにETの土台をつくってみる #include template struct Item { const T& Self() const { return static_cast(*this); } };template struct Plus:public Item { Plus(const Item& t…