C++ で乱数、特に正規乱数とか欲しいなあ。 rand() 関数は使っちゃダメ! 絶対! ということらしいので、boost::random を使ってみた。 が、なんでちょこっと乱数が欲しいくらいでそんなややこしいコード書かないといけないの!? と、キレたくなるほど複雑。 同じ型名を何度も書くのとか、ダサダサでしょう…… なので、最小限の汎用性を持たせつつ、便利でお手軽に使えるラッパーを書いてみた。 #include <boost/random.hpp> template<class D, class G = boost::mt19937> class Rand { G gen_; D dst_; boost::variate_generator<G, D> rand_; public: Rand() : gen_(static_cast<unsigned long>(time(0))),