C++ 函数库 - 构造函数



描述

它从各种来源构造一个 std::function。

声明

以下是 std::function 的声明。

C++11

以下是创建空函数的方法。

function();
function( std::nullptr_t );

异常

noexcept:noexcept 说明。

复制和移动

以下函数将其他对象的 target 复制或移动到 *this 的 target。如果 other 为空,则调用后 *this 也将为空。

function( const function& other );
function( function&& other );

异常

noexcept:noexcept 说明。

初始化目标

以下函数使用 f 的副本初始化目标。如果 f 是指向函数的空指针或指向成员的空指针,则调用后 *this 将为空。除非 f 可对参数类型 Args 和返回类型 R 调用,否则此构造函数不参与重载解析。

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 − 用于内部内存分配。

functional.htm
广告