zoukankan      html  css  js  c++  java
  • 10. 改变数组元素值的函数

    题目:

    编写一个模板函数 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 引用类型,因为函数不应该修改其值。

  • 相关阅读:
    C++中头文件包含的问题
    linux环境变量
    win32进程和线程
    断言
    win32中的常用类型转换
    可变形参
    #define
    CString与char*互相转化
    extern
    手机CPU和GPU厂商
  • 原文地址:https://www.cnblogs.com/Hello-Nolan/p/12305024.html
Copyright © 2011-2022 走看看