码迷,mamicode.com
首页 > 编程语言 > 详细

10. 改变数组元素值的函数

时间:2020-02-13 21:18:47      阅读:35      评论:0      收藏:0      [点我收藏+]

标签:pac   span   一个   for   template   namespace   应该   std   ota   

题目:

编写一个模板函数 iota , 使 a[i] += value 。测试你的代码。

思路:

正常思路即可,但是我不懂这个函数名字意义是什么。

注:本题目原书翻译有错,本人已修改正确。否则题目的意义不明。

代码:

 1 #include <iostream>
 2 using namespace std;
 3 
 4 template <typename T>
 5 void iota (T* a, int size, const T& value) {
 6     for (int i = 0; i < size; ++i) {
 7         a[i] += value;
 8     }
 9 }
10 
11 int main() {
12     int a[5] { 0, 1, 2, 3, 4 };
13     iota(a, 5, 2);
14 
15     for (auto x : a) {
16         cout << x << " ";
17     }
18     
19     return 0;
20 }

代码中有几处需要说明:

第一:传入数组不是 const ,因为函数需要修改数组元素。

第二:传入的 value 是 const 引用类型,因为函数不应该修改其值。

10. 改变数组元素值的函数

标签:pac   span   一个   for   template   namespace   应该   std   ota   

原文地址:https://www.cnblogs.com/Hello-Nolan/p/12305024.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!