uniform_int_distribution有间隔[a, b]但uniform_real_distribution有间隔[a, b).一个天真的方法是做一些类似的事情 b + 0.1,但是你开始进入无穷小...幸运的是,正确的方法很简单:
std::uniform_real_distribution<> dis(start, std::nextafter(stop, DBL_MAX));
Run Code Online (Sandbox Code Playgroud)
但为什么这有必要呢?更具体地说,这两者的不同之处是什么?