#define debug qDebug()<<
int main(int argc, char *argv[])
{
QVector<int> vec{1,2,3,4,5,6,7,8,9};
debug vec;
unsigned seed = std::chrono::system_clock::now ().time_since_epoch ().count ();
std::shuffle(vec.begin(),vec.end(),std::default_random_engine(seed));
debug vec;
}
参数3是随机数引擎,标准库提供了多种随机数引擎,default_random_engine大多数情况下最常用的。
另外还有相同功能的random_shuffle(),不过在c++14弃用了。