gpt4 book ai didi

c++ - 为什么在 for 循环中使用 std::for_each?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:58:24 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Advantages of std::for_each over for loop

所以我在尝试一些 C++11 特性,我很好奇为什么 std::for_each 是有益的。做一个 for 循环会不会更容易,看起来更干净,还是因为我已经习惯了这样做?

#include <iostream>
#include <tuple>
#include <vector>
#include <algorithm>

typedef std::tuple<int, int> pow_tuple;

pow_tuple pow(int x)
{
return std::make_tuple(x, x*x);
}

void print_values(pow_tuple values)
{
std::cout << std::get<0>(values) << "\t" << std::get<1>(values) << std::endl;
}

int main(int argc, char** argv)
{
std::vector<int> numbers;
for (int i=1; i < 10; i++)
numbers.push_back(i);
std::for_each(numbers.begin(), numbers.end(),
[](int x) { print_values(pow(x)); }
);

std::cout << "Using auto keyword:" << std::endl;
auto values = pow(20);
print_values(values);
return 0;
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com