函数调用运算符"()"

简介: 函数调用运算符"()"

14.8函数调用运算符"()"

1.函数调用运算符必须是成员函数,一个类可以定义多个不同版本的调用运算符,但是他们相互之间应该在参数数量或返回类型上有所区别。定义了调用运算符的类的对象称之为“函数对象”。此对象类似于函数名。

2. for_each只接受一元谓词 如:for_each(vs.begin, vs.end(), PrintString(cerr, '\n'));for_each每次都会讲一个vs的元素传递给PrintString创建的临时对象。

3.lambda是未命名的函数对象类,需多次使用则用类的函数对象或普通函数,只需单次使用则用lambda表达式。

4.标准库定义的函数对象

5.关联容器使用less对元素排序。

count_if(vec.begin(), vec.end(), bind2nd(greater(), 1024)); //bind2nd表示后面提供的数字绑定第二个参数

6.一种调用类型对应一种函数类型 如:int(int, int)是一个函数类型,接受两个int,返回一个int。

7.我们不能直接将重载函数的名字存入function类型的对象中,可以存储函数指针和使用lambda来消除二义性。

相关文章
|
C++
35 C++ - 指针运算符(*、->)重载
35 C++ - 指针运算符(*、->)重载
60 0
|
7月前
|
存储 C语言
C语言栈的表达式求值讲解
C语言栈的表达式求值讲解
107 0
|
7月前
|
C++
14函数调用
14函数调用
42 0
|
7月前
|
算法 前端开发
2666. 只允许一次函数调用
2666. 只允许一次函数调用
52 0
|
C++
38 C++ - 函数调用符号()重载
38 C++ - 函数调用符号()重载
36 0
栈在求值表达式中的应用
栈在求值表达式中的应用
|
编译器 C语言 C++
学C的第十六天【操作符详解:9. 条件操作符;10. 逗号表达式;11. 下标引用,函数调用和结构函数;12.表达式求值:整型提升、算术转换、操作符的属性;练习:使用函数完成整型函数的打印、元素逆置】-2
12.表达式求值 1. 表达式求值的顺序一部分是由操作符的优先级和结合性决定。 2. 有些表达式的操作数在求值的过程中可能需要转换为其它类型。
108 0
|
C语言 索引
C语言——操作符(下)逗号表达式、下标引用、函数调用、和结构成员、表达式求值
C语言——操作符(下)逗号表达式、下标引用、函数调用、和结构成员、表达式求值
|
C语言
【C语言函数调用详解】——传值调用&传址调用
【C语言函数调用详解】——传值调用&传址调用
454 0