64,849
社区成员
![](https://csdnimg.cn/release/cmsfe/public/img/topic.427195d5.png)
![](https://csdnimg.cn/release/cmsfe/public/img/me.40a70ab0.png)
![](https://csdnimg.cn/release/cmsfe/public/img/task.87b52881.png)
![](https://csdnimg.cn/release/cmsfe/public/img/share-circle.3e0b7822.png)
//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实例并返回一个随机数。