64,642
社区成员
发帖
与我相关
我的任务
分享
//random_device后面的{}是什么意思?
std::mt19937 gen(std::random_device{}());
std::shuffle(vec.begin(),vec.end(),gen);
只是语法糖而已:
std::random_device rd;
std::random_device rd1{}; // C++11
// use hardware random number generator
std::random_device rd2{"hw"}; // C++11
printf("%u %u %u %u\n", std::random_device{"hw"}(), rd(), rd1(), rd2());
c++11特性,{}里是初始化列表,运算符()返回一个生成的随机数。
std::random_device{}()意思就是默认初始化一个临时random_device实例并返回一个随机数。