在C+中,每个人的第三个论点是什么+;? 什么是C++中每个参数的第三个参数? 我读了它的一元函数,但是我遇到的代码有一个类的对象作为第三个参数。
第三个参数可以是一个函数对象,它是一个可以在函数调用的后缀表达式中使用的对象 <>从C++标准(20.9个函数对象) 1功能对象类型是一种对象类型(3.9),可以是 函数调用中的后缀表达式(5.2.2,13.3.1.1)。231 a 函数对象是函数对象类型的对象。在这些地方 人们希望将指向函数的指针传递给 算法模板(第25条),指定接口接受 函数对象这不仅使算法模板起作用 使用指向函数的指针,但也使它们能够使用 任意函数对象 这里有一个例子在C+中,每个人的第三个论点是什么+;? 什么是C++中每个参数的第三个参数? 我读了它的一元函数,但是我遇到的代码有一个类的对象作为第三个参数。,c++,C++,第三个参数可以是一个函数对象,它是一个可以在函数调用的后缀表达式中使用的对象 从C++标准(20.9个函数对象) 1功能对象类型是一种对象类型(3.9),可以是 函数调用中的后缀表达式(5.2.2,13.3.1.1)。231 a 函数对象是函数对象类型的对象。在这些地方 人们希望将指向函数的指针传递给 算法模板(第25条),指定接口接受 函数对象这不仅使算法模板起作用 使用指向函数的指针,但也使它们能够使用 任意函数对象 这里有一个例子 #include <iostream> #in
#include <iostream>
#include <algorithm>
int main()
{
const size_t N = 10;
int a[N] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
struct A
{
void operator()( int x ) const { std::cout << x << ' '; }
};
std::for_each( a, a + N, A() );
std::cout << std::endl;
}
以下是类型为struct A
的临时对象A()
,它是一个函数对象,因为根据struct A中函数调用运算符的定义,它可以在函数调用的后缀表达式中使用
比如你可以写
std::cout << A()( a[0] ) std::endl;
std::cout来自:
模板
每个_的函数(先输入计数器,后输入计数器,函数fn)代码>
参数
第一个
,最后一个
将迭代器输入到中的初始和最终位置
序列。使用的范围是[第一个,最后一个)
,其中包含所有
第一个和最后一个之间的元素,包括
第一个,但不是最后一个指向的元素
fn
一元函数
接受范围内的元素作为参数。
这可以是函数指针,也可以是移动可构造的函数对象。
它的返回值(如果有)将被忽略
你能发布你遇到的代码吗?你可以找到这个函数的一个很好的描述。你需要寻找函子(函数对象)。第三个参数告诉你每个函数的
该做什么。@Banex:我不能发布确切的代码。我仍然可以传达代码的结构。希望这有帮助..Point Point(a,word.offset());for each(&buffer[0],&buffer[word.length()],point);您能提供一些链接让我更好地理解吗。@Arpit Jaiswal我自己不使用这种链接,所以我不知道它们。但是在任何情况下,您都应该阅读有关函数调用运算符重载的内容。
std::cout << A()( a[0] ) std::endl;
A obj;
std::cout << obj( a[0] ) std::endl;
template<class InputIterator, class Function>
Function for_each (InputIterator first, InputIterator last, Function fn);