C++ Primer 第17章 知识点回顾

来源:互联网 发布:红顶位面商人知轩 编辑:程序博客网 时间:2024/06/04 18:04

17.1 tuple类型

17.2 bitset类型

17.4.1 随机数引擎和分布

  1. 引擎类型、分布类型
  2. default_random_engine e; cout<<e()<<endl;
  3. uniform_int_distribution<unsigned> u(0, 9);//指定分布类型
    default_random_engine e;
    //将u作为随机数源
    //每个调用返回在指定范围内并服从均匀分布的值
    cout << u(e) << endl;

  4. 分布类型是一个函数对象类,重载了调用运算符,接受一个随机数引擎作为参数

  5. 一个给定的随机数发生器(分布对象和引擎对象的组合)一直会生成相同的随机数序列。一个函数如果定义了局部的随机数发生器,应该将其(包括引擎和分布对象)定义为static的。否则,每次调用函数都会生成相同的序列。
  6. 种子就是一个数值,引擎可以利用他从序列中一个新位置重新开始生成随机数default_random_engine e(time(0));//种子为系统函数time(),返回从一个特定时刻到当前经过了多少秒。这种方式只使用与生成种子的间隔为秒级或更长的应用

  7. 7.

由于引擎返回相同的随机数序列,所以我们必须在循环外声明引擎对象。否则,每步循环都会创建一个新引擎,从而每步循环都会生成相同的值。类似的,分布对象也要保持状态,因此也应该爱循环外定义


17.5.1 格式化输入与输出

  1. 操纵符会影响流的状态,也返回他所处理的流对象
  2. 默认情况下,输入运算符会忽略空白符(空格符、制表符、换行符、换纸符和回车符)

17.5.2 未格式化的输入/输出操作

  1. 未格式化IO:这些操作允许我们将一个流当作一个无解释的字节序列来处理
0 0