C++ 使用可调用对象作为参数定义函数
谢谢你检查我的问题。我需要一个模板函数来使用一个可调用的对象,如lambda、函数对象、bind、函数指针和函数作为参数,就像STL一样,但我真的不知道如何做,而且没有在线资源 具体来说,我希望设计一个函数来遍历我的容器,对于每个元素,它将调用可调用函数来操作元素,就像STL::for_each一样。你能举个这样的例子吗C++ 使用可调用对象作为参数定义函数,c++,stl,C++,Stl,谢谢你检查我的问题。我需要一个模板函数来使用一个可调用的对象,如lambda、函数对象、bind、函数指针和函数作为参数,就像STL一样,但我真的不知道如何做,而且没有在线资源 具体来说,我希望设计一个函数来遍历我的容器,对于每个元素,它将调用可调用函数来操作元素,就像STL::for_each一样。你能举个这样的例子吗 多谢各位 STL使用模板来实现这一点。大概是这样的: template<class CallableObjectType> void do_stuff(/* oth
多谢各位 STL使用模板来实现这一点。大概是这样的:
template<class CallableObjectType>
void do_stuff(/* other arguments */, CallableObjectType object)
{
// ...
object(arg1, arg2, arg3);
// ...
}
也就是说,它不会试图强制对象可调用,除非调用它。如果对象不可调用,则无法实例化模板,因为对象arg1、arg2、arg3无效,因此会出现错误。如果对象是可调用的,那么它将按照您期望的方式工作。增加您获得帮助的机会。您应该尝试编写一个小示例,说明您正在尝试做什么。