p_tan's blog

勉強日記です。ツッコミ大歓迎

2011-10-01から1ヶ月間の記事一覧

POD型の初期化

C++

参考サイト C++における構造体の初期化 | 株式会社きじねこPOD(Plain Old Data)型の初期化には集成体(aggregate)用の{}による初期化とは別に値初期化というものが使えるらしい。 以下VC++2005 Express Editionの実行結果と共に。 #include <vector> #include <iostream> // POD</iostream></vector>…

整数型か浮動小数型かで四捨五入するかどうか分岐する関数テンプレート

C++

こんな関数テンプレートがあったら使い所があるかも。 #include <cassert> // RetTypeが整数型の場合は四捨五入した値を返し、 // RetTypeが浮動小数型の場合はそのままの値を返す。 template<typename RetType, typename ArgType> RetType IfIntegralThenRound(ArgType val) { return static_cast<RetType>(val + 0</rettype></typename></cassert>…

汎用LessBy

C++

小さなクラスを特定のメンバの値を基準にしてソートしたい場合。 しかも、Boost.MultiIndexを使うのは大げさだなーという時。 C++11ならラムダ式で書けるが、それでもめんどくさい。 例: class X{ int a; double b; public: // ...コンストラクタとか... in…