std::function::function

来自cppreference.com

 
 
實用工具庫
類型的支持 (basic types, RTTI, type traits)
動態內存管理
錯誤處理
程序實用工具
可變參數函數
日期和時間
函數對象
initializer_list(C++11)
bitset
hash(C++11)
關係運算符
Original:
Relational operators
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
rel_ops::operator!=
rel_ops::operator>
rel_ops::operator<=
rel_ops::operator>=
雙和元組
Original:
Pairs and tuples
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
pair
tuple(C++11)
piecewise_construct_t(C++11)
piecewise_construct(C++11)
掉期,遠期和移動
Original:
Swap, forward and move
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
swap
forward(C++11)
move(C++11)
move_if_noexcept(C++11)
declval(C++11)
 
函數對象
功能包裝
Original:
Function wrappers
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
function(C++11)
mem_fn(C++11)
bad_function_call(C++11)
綁定
Original:
Bind
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
bind(C++11)
is_bind_expression(C++11)
is_placeholder(C++11)
_1, _2, _3, ...(C++11)
參考包裝
Original:
Reference wrappers
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
reference_wrapper(C++11)
ref
cref
(C++11)
(C++11)
操作包裝
Original:
Operator wrappers
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
否定詞
Original:
Negators
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
已過時粘合劑和適配器
Original:
Deprecated binders and adaptors
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
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
(過時了)
(過時了)
 
std::function
成員函數
Original:
Member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
function::function
function::~function
function::operator=
function::swap
function::assign
function::operator bool
function::operator()
function::target_type
function::target
非成員函數
Original:
Non-member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
operator==
operator!=
std::swap(std::function)
Helper類
Original:
Helper classes
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
std::uses_allocator<std::function>
 
function();
(1) (C++11 起)
function( std::nullptr_t );
(2) (C++11 起)
function( const function& f );
(3) (C++11 起)
function( function&& f );
(4) (C++11 起)
template< class F >
function( F f );
(5) (C++11 起)
template< class Alloc >
function( std::allocator_arg_t, const Alloc& alloc );
(6) (C++11 起)
template< class Alloc >

function( std::allocator_arg_t, const Alloc& alloc,

          std::nullptr_t );
(7) (C++11 起)
template< class Alloc >

function( std::allocator_arg_t, const Alloc& alloc,

          const function& f );
(8) (C++11 起)
template< class Alloc >

function( std::allocator_arg_t, const Alloc& alloc,

          function&& f );
(9) (C++11 起)
template< class F, class Alloc >
function( std::allocator_arg_t, const Alloc& alloc, F f );
(10) (C++11 起)
從各種來源的構造一個std::function.
Original:
Constructs a std::function from a variety of sources.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
@ 1,2,7創建一個空的函數.
Original:
@1, 2, 7@ Create an empty function.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
@ 3,@創建的副本f.
Original:
@3, 8@ Create a copy of f.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
@ 4,9 @移動的內容f*this.
Original:
@4, 9@ Move the contents of f into *this.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
5,10Callable對象移動f*this.
Original:
@5, 10@ Move the Callable object f into *this.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

目錄

[编辑] 參數

f -
的函數對象,用於初始化*this
Original:
the function object used to initialize *this
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
alloc -
Allocator用於內部內存分配
Original:
an Allocator used for internal memory allocation
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[编辑] 注釋

6-10)
構造函數,具有第一std::allocator_arg_t類型的參數,必須有一個第二個參數是alloc類型AAllocator。該分配器是用於創建function可以使用任何內部數據結構的內存.
Original:
Constructors that have a first parameter of type std::allocator_arg_t must have a second argument alloc of type A that is an Allocator. This allocator is used to create memory for any internal data structures that the function might use.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
5,10)的類型F應該CopyConstructible,和對象f應該Callable。函數創建的對象將是空的,如果f是一個空函數指針,NULL指針成員,或者如果f是一個std::function!f == true。被移動到函數對象的參數f.
Original:
5, 10) The type F should be CopyConstructible and the object f should be Callable. The resulting function object that is created will be empty if f is a NULL function pointer, a NULL pointer to member, or if f is a std::function and !f == true. The argument f is moved into the resulting function object.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[编辑] 例外

1-2)
noexcept specification:  
noexcept
  (C++11 起)
3-5)
(無)
Original:
(none)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
6-7)
noexcept specification:  
noexcept
  (C++11 起)
8-10)
(無)
Original:
(none)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[编辑] 為例