根据cppreference.com关于std::shufle的参考文献,以下方法在c++14中已被弃用:
template< class RandomIt >
void random_shuffle( RandomIt first, RandomIt last );
为什么我们将不能再不传第三个参数来调用以下函数?
std::random_shuffle(v.begin(),v.end()); //no longer valid in c++14
看起来不像是另一个函数声明有默认参数集。这背后的原因是什么?是否添加了某种替代方案?
std::random_shuffle
可能会使用rand
。但它并不强制要求使用rand
。一些实现会使用,而另一些则不会。 - Howard Hinnant