函数调用运算符"()"

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

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来消除二义性。

相关文章
|
5月前
|
C++
05 C++ - 作用域运算符(::)
05 C++ - 作用域运算符(::)
28 0
|
5月前
|
编译器 C语言
C语言之操作符表达式求值篇
C语言之操作符表达式求值篇
42 0
|
5月前
|
C++
38 C++ - 函数调用符号()重载
38 C++ - 函数调用符号()重载
18 0
|
6月前
|
索引
操作符之关系操作符,逻辑操作符,条件操作符,逗号表达式,下标引用操作符,函数调用操作符,访问结构体成员操作符
操作符之关系操作符,逻辑操作符,条件操作符,逗号表达式,下标引用操作符,函数调用操作符,访问结构体成员操作符
|
6月前
|
编译器 C语言
操作符的属性,C语言中运算符的优先性和结合性,常见的问题表达式
操作符的属性,C语言中运算符的优先性和结合性,常见的问题表达式
|
9月前
|
编译器 C语言 C++
学C的第十六天【操作符详解:9. 条件操作符;10. 逗号表达式;11. 下标引用,函数调用和结构函数;12.表达式求值:整型提升、算术转换、操作符的属性;练习:使用函数完成整型函数的打印、元素逆置】-2
12.表达式求值 1. 表达式求值的顺序一部分是由操作符的优先级和结合性决定。 2. 有些表达式的操作数在求值的过程中可能需要转换为其它类型。
|
9月前
|
存储 编译器 C语言
【C语言】表达式求值相关问题汇总—>隐式类型转换(整型提升)、算数转换与操作符优先级汇总(收藏查阅)
【C语言】表达式求值相关问题汇总—>隐式类型转换(整型提升)、算数转换与操作符优先级汇总(收藏查阅)
73 0
|
10月前
|
C语言 索引
C语言——操作符(下)逗号表达式、下标引用、函数调用、和结构成员、表达式求值
C语言——操作符(下)逗号表达式、下标引用、函数调用、和结构成员、表达式求值
|
11月前
14-函数调用运算符重载
14-函数调用运算符重载