【发布时间】:2009-11-22 22:31:19
【问题描述】:
现在我正在使用 boost 的随机库生成一个随机枚举器。基本上我使用隐式转换来指定随机生成器的分布,获取一个随机数,然后将其转换回枚举类型。
例如:(minColor和maxColor是枚举类型的参数)
boost::mt19937 randGen(std::time(0));
boost::uniform_int<> dist(minColor, maxColor);
boost::variate_generator< boost::mt19937&, boost::uniform_int<> >
GetRand(randGen, dist);
return static_cast<Common::Color> (GetRand());
我很好奇 boost 的库是否支持为枚举类型创建分布,从而返回随机选择的枚举数。比如……
boost::uniform<Common::Color> dist(minColor, maxColor);
【问题讨论】: