std C++11 生成随机数组
#include <algorithm>
#include <array>
#include <iostream>
#include <iterator>
#include <random>
template <class Iter>
void fill_with_random_int_values(Iter start, Iter end, int min, int max) {
static std::random_device rd; // you only need to initialize it once
static std::mt19937 mte(rd()); // this is a relative big object to create
std::uniform_int_distribution<int> dist(min, max);
std::generate(start, end, [&]() { return dist(mte); });
}
int main() {
std::array<int, 10> a;
fill_with_random_int_values(a.begin(), a.end(), 0, 1000);
for (int i : a) std::cout << i << ' ';
std::cout << '\n';
}
运行测试:Compiler Explore