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

値返ししよう。

小さな算術クラスは値返ししようというお話。 以前(といっても1年半以上前だが)僕はconst参照を使ってET(Expression Template)を実装しようと試みたことがある。 const参照ならコピーのコストが無いので、これがさらに最適化すればETが実装できるはずだと…

copy_n

copy_n()という関数は標準にはない*1。fill_nはあるのに。なんでないのか?その理由は良くわかってない。 copy_nの存在価値はあるか?あるとしたら最適化の考慮のためだろう。 copy_nは条件次第で最適化により高速な関数memmoveまたはmemcpyに置き換える。 …

CRTP (Curiously Recurring Template Pattern)の使い方

CRTPというC++で使われるテクニックがある。これは自分自身をテンプレートパラメータとしたテンプレートから派生してクラスを定義するものだ。これはこちらのページに詳しいが、今回はCRTPのもっとも便利だと思われる使い方を示してみようと思う。 CRTPを具…

allocator考察

標準コンテナは初期値を持たないコンストラクタはどうしてるかというお話。たとえばstd::vectorでいえばvector()やvector(size)なんか。そのとき内部型をTとすると、T()を呼び出す。ということはintやdoubleなんかも必ず0になる。しかしおもしろいことがひと…

ゲーム脳の講演に行ってきた。

今日は医学博士・森昭雄氏の講演(ゲーム脳)に行ってきた。場所は越谷のサンシティ小ホール。新越谷駅をおりてすぐのダイエー横にある。時間はきっかり2時から始まった。大体100人くらいは来ていたのではないか。席を2つ3つあけて座るくらいであった。…