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

posted @   山岚2013  阅读(240)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示