函数对象

来自cppreference.com
< cpp‎ | utility
 
 
实用工具库
类型的支持 (basic types, RTTI, type traits)
动态内存管理
错误处理
程序实用工具
可变参数函数
日期和时间
函数对象
initializer_list(C++11)
bitset
hash(C++11)
关系运算符
原文:
Relational operators
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
rel_ops::operator!=
rel_ops::operator>
rel_ops::operator<=
rel_ops::operator>=
双和元组
原文:
Pairs and tuples
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
pair
tuple(C++11)
piecewise_construct_t(C++11)
piecewise_construct(C++11)
掉期,远期和移动
原文:
Swap, forward and move
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
swap
forward(C++11)
move(C++11)
move_if_noexcept(C++11)
declval(C++11)
 
函数对象

| |- |

功能包装
原文:
Function wrappers
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
function(C++11)
mem_fn(C++11)
bad_function_call(C++11)
绑定
原文:
Bind
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
bind(C++11)
is_bind_expression(C++11)
is_placeholder(C++11)
_1, _2, _3, ...(C++11)
参考包装
原文:
Reference wrappers
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
reference_wrapper(C++11)
ref
cref
(C++11)
(C++11)
操作包装
原文:
Operator wrappers
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
plus
minus
negate
multiplies
divides
modulus
logical_and
logical_or
logical_not

|

|-

否定词
原文:
Negators
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

| |- |

|

|-


已过时粘合剂和适配器
原文:
Deprecated binders and adaptors
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
unary_function(已弃用)
binary_function(已弃用)
ptr_fun(已弃用)
pointer_to_unary_function(已弃用)
pointer_to_binary_function(已弃用)
mem_fun(已弃用)
mem_fun_t
mem_fun1_t
const_mem_fun_t
const_mem_fun1_t
(已弃用)
(已弃用)
(已弃用)
(已弃用)
mem_fun_ref(已弃用)
mem_fun_ref_t
mem_fun1_ref_t
const_mem_fun_ref_t
const_mem_fun1_ref_t
(已弃用)
(已弃用)
(已弃用)
(已弃用)
binder1st
binder2nd
(已弃用)
(已弃用)
bind1st
bind2nd
(已弃用)
(已弃用)
 

任何定义了函数调用操作符的对象都是函数对象。C++ 支持创建、操作新的函数对象,同时也提供了许多内置的函数对象。

目录

[编辑] 函数的多态封装

std::function 支持存储任何函数对象。

(C++11)
包装带有指定的函数调用签名的任何类型的可调用对象
原文:
wraps callable object of any type with specified function call signature
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(类模板) [edit]
(C++11)
从指向成员的指针创建函数对象
原文:
creates a function object out of a pointer to a member
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数模板) [edit]
调用一个空的std::function时抛出的异常
原文:
the exception thrown when invoking an empty std::function
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(类) [edit]

[编辑] 绑定

std::bind 支持函数的部分应用,即通过绑定参数来生成新的函数。

(C++11)
对函数对象绑定一个或多个参数
原文:
binds one or more arguments to a function object
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数模板) [edit]
表明一个对象是std::bind对象,或者可以用作std::bind对象
(类模板) [edit]
(C++11)
表明一个对象是标准占位符,或者可以用作标准占位符
(类模板) [edit]
定义于 std::placeholders 名字空间
std::bind表达式中用于非绑定的参数的占位符
(常量) [edit]

[编辑] 引用的封装

引用的封装可以在可复制的函数对象中保存引用参数:

CopyConstructibleCopyAssignable的引用包装
(类模板) [edit]
(C++11)
(C++11)
创建类型从参数可推导的std::reference_wrapper
(函数模板) [edit]

[编辑] 函数对象

C++ 针对常用的算术和逻辑运算定义了很多函数对象:

算术运算
实现x + y的函数对象
(类模板) [edit]
实现x - y的函数对象
(类模板) [edit]
实现x * y的函数对象
(类模板) [edit]
实现x / y的函数对象
(类模板) [edit]
实现x % y的函数对象
(类模板) [edit]
实现-x的函数对象
(类模板) [edit]
比较
实现x == y的函数对象
(类模板) [edit]
实现x != y的函数对象
(类模板) [edit]
实现x > y的函数对象
(类模板) [edit]
实现x < y的函数对象
(类模板) [edit]
实现x >= y的函数对象
(类模板) [edit]
实现x <= y的函数对象
(类模板) [edit]
逻辑运算
实现x && y的函数对象
(类模板) [edit]
实现x || y的函数对象
(类模板) [edit]
实现!x的函数对象
(类模板) [edit]
位运算
实现x & y的函数对象
(类模板) [edit]
实现x | y的函数对象
(类模板) [edit]
实现x ^ y的函数对象
(类模板) [edit]
否定词
包装函数对象,返回所持有的一元谓词的补
(类模板) [edit]
包装函数对象,返回所持有的二元谓词的补
(类模板) [edit]
构造自定义std::unary_negate对象
原文:
constructs custom std::unary_negate object
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数模板) [edit]
构造自定义std::binary_negate对象
原文:
constructs custom std::binary_negate object
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数模板) [edit]

[编辑] 在 C++11 中弃用

一些实用工具在早期 C++ 中提供函数式编程支持,但在 C++11 中弃用。

基础
(已弃用)
适配器兼容的一元函数的基类
原文:
adaptor-compatible unary function base class
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(类模板) [edit]
(已弃用)
适配器兼容的二元函数的基类
原文:
adaptor-compatible binary function base class
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(类模板) [edit]
绑定器
(已弃用)
(已弃用)
持有一元函数及其参数的函数对象
(类模板) [edit]
(已弃用)
(已弃用)
将参数绑定到二元函数
(函数模板) [edit]
函数适配器
适配器兼容的包装,用于包装一元函数的指针
(类模板) [edit]
适配器兼容的包装,用于包装二元函数的指针
(类模板) [edit]
(已弃用)
从函数指针创建适配器兼容的函数对象包装
(函数模板) [edit]
(已弃用)
(已弃用)
(已弃用)
(已弃用)
指向无参成员函数指针的包装,使用对象指针来调用
(类模板) [edit]
(已弃用)
从成员函数的指针创建包装,使用对象指针来调用
(函数模板) [edit]
包装一个无参或一元成员函数,使用对象指针来调用
(类模板) [edit]
(已弃用)
从成员函数指针创建包装,使用对象的参考来调用
(函数模板) [edit]