1. 结果范围

  • 随机数引擎:生成的 unsigned 整数在一个系统定义的范围内
  • rand 生成的数的范围:在 0 到 RAND_MAX 之间

eg.

 一个引擎类型的范围可以通过调用该类型对象的 min 和 max 成员来获得:
cout <<  "min: " << e.min ( ) <<  " max: " << e.max () <<  endl;

输出

min: 1 max: 2147483646

1.1 引擎生成一个数值序列

错误的定义方法

vector<unsigned >bad_randVec()
{default_random_engine e;uniform_int_distribution<unsigned >u(0,9);vector<unsigned >ret;for(size_t i = 0;i<100;i++)ret.push_back(u(e));return ret;
}
// 但是 每次调用这个函数都会返回相同的 vector
vector<unsigned >v1(bad_randVec());
vector<unsigned >v2(bad_randVec());
// 将会打印输出 equal
cout << ((v1==v2) ? "equal" : "not equal") << endl;

正确的定义方法:将引擎和关联的分布对象定义为 static

vector<unsigned >good_randVec()
{// 由于我们希望引擎和分布对象保持状态,因此应该将他们定义为static的,从而每次调用都生成新的数static default_random_engine e;static uniform_int_distribution<unsigned > u(0,9);vector<unsigned > ret;for(size_t i = 0; i<100;i++)ret.push_back(u(e));return ret;
}

C++ Primer 5th笔记(chap 17 标准库特殊设施)随机数引擎 vs rand 函数相关推荐

  1. C++ Primer 5th笔记(chap 17 标准库特殊设施)随机数

    1. 场景: rand 生成随机数 此函数生成均匀分布的伪随机整数, 每个随机数的范围在 0 和一个系统相关的最大值( 至少为 32767) 之间. 1.1 问题: 一些应用需要随机浮点数. 一些程序 ...

  2. C++ Primer 5th笔记(chap 17 标准库特殊设施)流随机访问

    1. 流类型通常都支持对流中数据的随机访问. 可以重定位流, 使之跳过一些数据, 首先读取最后一行, 然后读取第一行, 依此类推. 1.1 标准厍提供了一对函数, 来定位( seek )到流中给定的位 ...

  3. C++ Primer 5th笔记(chap 17 标准库特殊设施)多字节低层IO操作

    1. 多字节操作 一些未格式化 IO 操作一次处理大块数据,这些操作要求我们自己分配并管理用来保存和提取数据的字符数组 操作 解释 is.get(sink, size, delim) 从is中读取最多 ...

  4. C++ Primer 5th笔记(chap 17 标准库特殊设施)未格式化的输入/输出操作

    1. 格式化IO 输入和输出运算符(<< 和>>)根据读取或写入的数据类型来格式化它们. 输入运算符忽略空白符 输出应用补白 精度等规则操作 2. 未格式化 IO (unfor ...

  5. C++ Primer 5th笔记(chap 17 标准库特殊设施)IO库 之操纵符

    1. 控制浮点数格式 可以控制浮点数输出三个种格式 • 以多高精度( 多少个数字) 打印浮点值 • 数值是打印为十六进制. 定点十进制还是科学记数法形式 • 对于没有小数部分的浮点值是否打印小数点 1 ...

  6. C++ Primer 5th笔记(chap 17 标准库特殊设施)匹配标志

    1. 用来控制匹配和格式的标志 标准库还定义了用来在替换过程中控制匹配或格式的标志,这些标志可以传递给函数 regex_search 或 regex_match 或是类 smatch 的 format ...

  7. C++ Primer 5th笔记(chap 17 标准库特殊设施)正则表达式类和输入序列类型

    1. 多种类型的输入 可以搜索多种类型的输入序列. RE 库为这些不同的输入序列类型都定义了对应的类型,eg. 普通 char 数据.wchar_t 数据 字符可以保存在标准库string或是 cha ...

  8. C++ Primer 5th笔记(chap 17 标准库特殊设施)正则表达式错误

    1. 指定或使用正则表达式时的错误 如果我们编写的正则表达式存在错误, 则在运行时标准库会抛出一个类型为regex 的异常 eg. try {// alnum右括号少了一个, 构造函数会抛出异常reg ...

  9. C++ Primer 5th笔记(chap 17 标准库特殊设施)bitset类型

    1. 提取 bitset 的值 函数返回一个值,保存了与bitset 对象相同的位模式. to_ulong() // 返回unsigned long to_ullong() //返回unsigned ...

  10. C++ Primer 5th笔记(chap 17 标准库特殊设施)tuple 类型

    1. 定义 将一些数据组合成单一对象(类似pair) tuple支持的操作 操作 解释 tuple<T1, T2, -, Tn> t; t是一个tuple,成员数为n,第i个成员的类型是T ...

最新文章

  1. CentOS 4.6 中 yum 的使用
  2. QT textedit 滚动条自动往下滚动
  3. 程序员加入新团队必问的20道问题
  4. python语法手册-Python编程参考手册
  5. php 判断5张牌是不是顺子,从扑克牌中随机抽取5张牌,判断是不是一个顺子,即这5张牌是不是连续(面试题)...
  6. PAT-BASIC-1039-到底买不买
  7. python定时运行py文件_Python 定时运行脚本
  8. 你习惯用微信支付还是支付宝?
  9. 麦马计算机专业对化学的要求,2018麦克马斯特大学最新入学要求+热门专业全解析...
  10. 哪个oracle工具可以免费,Sqlite导入Oracle工具下载官方免费版_SqliteToOracle2.2英文版 - 系统之家...
  11. Kafka设计解析(三):Kafka High Availability (下)
  12. row_number()函数的使用
  13. 雅思c1语言等级,雅思分数各代表什么水平
  14. java毕业设计户籍管理系统(附源码、数据库)
  15. ZPL指令打印标签时出现白色窄条的坑
  16. IE11 与 XPath
  17. 手机APP如何远程控制PLC
  18. 一名数据仓库工程师的自我修养
  19. Problem Set 1
  20. 阿里云国际站代理商:阿里云国际版香港轻量ECS服务器怎么样?

热门文章

  1. 不定积分24个基本公式_高分攻略丨语文阅读理解的24个万能答题公式
  2. 夏天雷雨天机房断电了,该怎么办?,叫你几招紧急应对方法
  3. 数据中心运维人的半衰期危机
  4. java开根号函数_Java中真的只有值传递么?
  5. Tensorflow:在Tensorflow的不同版本中如何实现Xavier参数权重初始化
  6. DL之Keras:keras保存网络结构、网络拓扑图、网络模型(json、yaml、h5等)注意事项及代码实现
  7. 成功解决‘nvidia-smi‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件
  8. AI开发者大会之计算机视觉技术实践与应用:2020年7月3日《如何利用计算机视觉增加便利店连锁每日销售额》、《基于图像 / 视频的人脸和人体分析基础技术及其应用介绍》
  9. Tool:微信使用技巧之手把手教你如何在电脑端同时登录多个微信账号之图文教程详细攻略
  10. 成功解决matplotlib\cbook\deprecation.py:107: MatplotlibDeprecationWarning: Passing one of 'on', 'true',