C++ 函数库 - 构造函数


描述

它从各种来源构造一个 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 是可调用的

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

功能.htm