gpt4 book ai didi

c++ - 将 vector 中的对象方法应用于 C++ 中第二个 vector 中的对象

转载 作者:搜寻专家 更新时间:2023-10-31 01:29:39 25 4
gpt4 key购买 nike

我正在尝试找到一种优雅的方式来执行以下循环:

std::vector<A> a = {...};
std::vector<B> b = {...}; # assume a.size() == b.size()

for (int i = 0; i < a.size() ; ++i){
a[i].Method(b[i]);
}

我期待某种可以为我做到这一点的标准算法,但也许它不存在。也许是这样的:

std::apply(a.begin(),a.end(),b.begin(),Method)

谢谢你,如果你知道任何存在的函数可以做到这一点。

最佳答案

试一试:

auto&& it=b.begin();
for_each(a.begin(), a.end(),[&](value_type& v){v.Method(*it++)});

关于c++ - 将 vector 中的对象方法应用于 C++ 中第二个 vector 中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49535303/

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