gpt4 book ai didi

c++ - 如何使用 for_each 获取 vector 中值的索引?

转载 作者:IT老高 更新时间:2023-10-28 12:55:16 26 4
gpt4 key购买 nike

我有以下代码(编译器:MSVC++ 10):

std::vector<float> data;
data.push_back(1.0f);
data.push_back(1.0f);
data.push_back(2.0f);

// lambda expression
std::for_each(data.begin(), data.end(), [](int value) {
// Can I get here index of the value too?
});

我想要在上面的代码片段中获取 lambda 表达式内数据 vector 中的值的索引。似乎 for_each 只接受一个参数函数。有没有使用 for_each 和 lambda 的替代方法?

最佳答案

感谢 generalized lambda captures 在 C++14 中你可以这样做:

std::vector<int> v(10);
std::for_each(v.begin(), v.end(), [idx = 0] (int i) mutable {
// your code...
++idx; // 0, 1, 2... 9
});

关于c++ - 如何使用 for_each 获取 vector 中值的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3752019/

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