编写函数的定义,该函数接受可呼叫函数作为参数

Writing the definition of function which accepts callable function as argument

本文关键字:函数 呼叫 参数 定义      更新时间:2023-10-16

任何人都可以帮助我写下接受stl容器和可呼叫功能的函数的定义。执行后,该函数将可callable对象应用于容器的每个元素?

这是超简单的东西:模板一个接受容器和功能的函数,然后在每个元素上调用函数:

template<typename C, typename F>
void CallCallable(C&& c, F&& f)
{
    for(auto&& element : c)
    {
        f(element);
    }
}

您可以这样使用:

std::vector<int> myVec{1,2,3,4,5,6};
// add 1 to each element
CallCallable(myVec, [](int& i){++i;});

实时演示

当然,这很简单,我对您想要的东西做了一些假设,但是它可以完成工作。(希望比我聪明的人能给您更好的东西:-))