头文件 Numeric_Range.h 的完整内容如下:


以一
以一 2023-12-31 03:38:36 51483 赞同 0 反对 0
分类: 资源
// Exercising the Numeric_Range template #include // For copy() #include // For accumulate() #include // For standard streams #include // For vector container #include "Numeric_Range.h" // For Numeric_Range & Numeric_Iterator

头文件 Numeric_Range.h 的完整内容如下:

  1. // Exercising the Numeric_Range template
  2. #include <algorithm> // For copy()
  3. #include <numeric> // For accumulate()
  4. #include <iostream> // For standard streams
  5. #include <vector> // For vector container
  6. #include "Numeric_Range.h" // For Numeric_Range<T> & Numeric_Iterator<T>
  7.  
  8. int main()
  9. {
  10. Numeric_Range<double> range {1.5, 0.5, 5};
  11. auto first = range.begin();
  12. auto last = range.end();
  13. std::copy(first, last, std::ostream_iterator<double>(std::cout, " "));
  14. std::cout << "\nSum = " << std::accumulate(std::begin(range), std::end(range), 0.0) << std::endl;
  15.  
  16. // Initializing a container from a Numeric_Range
  17. Numeric_Range<long> numbers {15L, 4L, 10};
  18. std::vector<long> data {std::begin(numbers), std::end(numbers)};
  19. std::cout << "\nValues in vector are:\n";
  20. std::copy(std::begin(data), std::end(data), std::ostream_iterator<long>(std::cout, " "));
  21. std::cout << std::endl;
  22.  
  23. // List the values in a range
  24. std::cout << "\nThe values in the numbers range are:\n";
  25. for (auto n : numbers)
  26. std::cout << n << " ";
  27. std::cout << std::endl;
  28. }

运行结果为:
1.5 2 2.5 3 3.5
Sum = 12.5
Values in vector are:
15 19 23 27 31 35 39 43 47 51
The values in the numbers range are:
15 19 23 27 31 35 39 43 47 51

生成的第一个 Numeric_Range 实例有 5 个 double 型元素,它们从 1.5 开始,每次增加 0.5。Numeric_Range 的迭代器用来在 copy() 算法中将值复制到 ostream_iterator。这表明算法可以接受这个迭代器。第二个 Numeric_Range 实例有 10 个 long 型元素。在 vector 容器的初始化列表中,使用开始和结束迭代器,然后用 copy() 算法输出 vector 中的元素。最后,为了演示它的工作原理,以 for 循环的方式输出它的值。输出表明 Numeric_Range 模板成功创建了整型和浮点型的元素段,我们成功定义了一个可以使用 STL 的迭代器类型。

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
以一L0
粉丝 0 资源 1143 + 关注 私信
最近热门资源
银河麒麟桌面操作系统备份用户数据  125
统信桌面专业版【全盘安装UOS系统】介绍  120
银河麒麟桌面操作系统安装佳能打印机驱动方法  112
银河麒麟桌面操作系统 V10-SP1用户密码修改  105
最近下载排行榜
银河麒麟桌面操作系统备份用户数据 0
统信桌面专业版【全盘安装UOS系统】介绍 0
银河麒麟桌面操作系统安装佳能打印机驱动方法 0
银河麒麟桌面操作系统 V10-SP1用户密码修改 0
作者收入月榜
1

prtyaa 收益393.62元

2

zlj141319 收益218元

3

1843880570 收益214.2元

4

IT-feng 收益209.03元

5

风晓 收益208.24元

6

777 收益172.71元

7

Fhawking 收益106.6元

8

信创来了 收益105.84元

9

克里斯蒂亚诺诺 收益91.08元

10

技术-小陈 收益79.5元

请使用微信扫码

加入交流群

请使用微信扫一扫!