C++ Functional 库 - constructor
描述
它从各种来源构造一个 std::function。
声明
以下是 std::function 的声明。
C++11
以下正在创建一个空函数。
function(); function( std::nullptr_t );
异常
noexcept:noexcept 规范。
复制和移动
以下功能是将 other 的目标复制或移动到 *this 的目标。 如果 other 为空,则调用后 *this 也将为空。
function( const function& other ); function( function&& other );
异常
noexcept:noexcept 规范。
初始化目标
以下函数使用 f 的副本初始化目标。 如果 f 是指向函数的空指针或指向成员的空指针,则 *this 在调用后将为空。 此构造函数不参与重载决议,除非 f 对于参数类型 Args 和返回类型 R 是 Callable
template< class F > function( F f );
异常
noexcept:noexcept 规范。
分配内存
以下函数与 alloc 用于为函数可能使用的任何内部数据结构分配内存相同。
template< class Alloc > function( std::allocator_arg_t, const Alloc& alloc ); template< class Alloc > function( std::allocator_arg_t, const Alloc& alloc, std::nullptr_t ); template< class Alloc > function( std::allocator_arg_t, const Alloc& alloc, const function& other ); template< class Alloc > function( std::allocator_arg_t, const Alloc& alloc, function&& other ); template< class F, class Alloc > function( std::allocator_arg_t, const Alloc& alloc, F f );
异常
noexcept:noexcept 规范。
参数
other − 此函数对象用于初始化 *this。
f − 用于初始化 *this 的可调用对象。
alloc − 它用于内部内存分配。