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

Google Gears Portable on Firefox 3.6

https://addons.mozilla.org/ja/firefox/addon/13492 Firefox 3.6でも動くのでやっと3.6に更新しました。

std::distance and std::advance

<iterator> - C++ Reference それぞれイテレータの差を取得する関数とイテレータを前進させる関数。std::distance はイテレータ(ポインタ)から配列の添え字を計算するときなどに使う。単純便利なのに意外と今まで知らなかった…</iterator>

仮想デストラクタと多様性(ポリモーフィズム)

継承を使う場合には通常、基底クラスのデストラクタは仮想関数(デストラクタ)にする。なぜなら、基底クラスのポインタ経由で派生クラスオブジェクトを削除しようとすると、その結果は不定であるため。というわけで、Effective C++ では基底クラスのデストラ…

value of const std::valarray

26.3.2.3 valarray element access T operator[](size_t) const; T& operator[](size_t);

valarray on icc

const and valarray reference - C / C++ どうやら Intel コンパイラではアドレス取得が不可能な模様…かくなる上は、滅多に使わない const_cast。 const std::valarray<int> v(100); const int* p = &(*const_cast<std::valarray<int>*>(&v))[0]; 多分これで、標準準拠でもデータの先</std::valarray<int></int>…

C++

最近またC++言語を使うこと自体が楽しくなってきました。コードの可読性、保守性、さらには速度もかなり上がってる。STLや Boost も含めて、ずいぶん使いこなせるようになったもんだ。

新手法

また新しい理論を思いついて、実装までしてみて、そしてかなり性能もよいことがわかったけど…パラメータ依存だ。収束性が分からん…

std::valarray と NaN と max(), min(), sum()

標準C++ライブラリの std::valarray は、浮動小数点数型で NaN を含んでいると、メンバ関数 max(), min(), sum() の値が NaN になったりする。これは無論 valarray に限ったことではなく、std::vector だろうと配列だろうと、標準テンプレートライブラリ関数…