使用VS2013时,std::uniform_int_distribution::operator()
似乎只要求Generator
模板参数包含typedef
ed result_type
,static
min
和max
函数以及重载operator()
。
我有一个包含STL中定义的随机数引擎的类,从外部来看,我的包装类和内部包装的引擎之间没有区别。我想使用我的包装类作为Generator
参数,但我不知道标准是否指定只有已知的生成器是有效的,或者它是否保留uniform_int_distribution
的实现未指定,我不能依赖VS2013的实施细节。
答案 0 :(得分:5)
该标准规定了26.5.1.4 [rand.req.eng]中Engine
的要求,各种发行版要求您传递符合这些要求的内容。