1)std::allocator_arg_tis an empty class type used to disambiguate the overloads of constructors and member functions of allocator-aware objects, includingstd::tuple,std::function,std::packaged_task,(until C++17)andstd::promise. 2)std::allocator_argis an instance of(1)that can be passed ...
std::allocator_arg 是std::allocator_arg_t 类型常量,用于在调用点消歧义具分配器对象,例如 std::tuple、 std::function、 std::promise 与std::packaged_task 的构造函数及成员函数的重载。 参阅 allocator_arg_t (C++11) 标签类型,用于选择具分配器的构造函数重载 (类) uses_allocator (C++11) 检查...
function( std::allocator_arg_t, const Alloc& alloc, F f ); (10) (since C++11) (removed in C++17) Constructs a std::function from a variety of sources. 1,2) Creates an empty std::function.3) Copies the target of other to the target of *this.If...
function&& other ); (9) (C++11 起) (C++17 移除) template< class F, class Alloc > function( std::allocator_arg_t, const Alloc& alloc, F f ); (10) (C++11 起) (C++17 移除) 从各种来源构造 std::function。 1,2) 构造空 std::function。3...
arg_t, const _Alloc&, function&&); template<class _Fp, class _Alloc, class = _EnableIfCallable<_Fp>> function(allocator_arg_t, const _Alloc& __a, _Fp __f); #endif function& operator=(const function&); function& operator=(function&&) _NOEXCEPT; function& operator=(nullptr_t) _...
'~__tuple_like_tag_t', '~__type_identity', '~__unspec', '~allocator', '~allocator_arg_t', '~bad_alloc', '~bad_array_new_length', '~basic_string', '~basic_string_view', '~bidirectional_iterator_tag', '~binary_function', '~compare_three_way', '~contiguous_iterator_tag', '...
std::allocator_arg_t, Alloc, tuple<UTypes...>) -> tuple<UTypes...>; (5) (C++17 起)为std::tuple 提供这些推导指引,以涵盖隐式推导指引缺失的极端情况,特别是不可复制参数和数组到指针转换。 示例运行此代码 #include <tuple> int main() { int a[2], b[3], c[4]; std::tuple t1{a,...
function( std::allocator_arg_t, const Alloc& alloc, F f ); (10) (库基础 TS) 从各种源构造 std::experimental::function。 1-2) 构造空 function 。3-4) 复制(3) 或移动 (4) other 的目标到*this 的目标。若 other 为空,则调用后 *this 将亦为空。5...
promise( std::allocator_arg_t, const Alloc& alloc ); (2) (C++11 起) promise( promise&& other ) noexcept; (3) (C++11 起) promise( const promise& other ) = delete; (4) (C++11 起) 构造promise 对象。 1) 默认构造函数。构造具有空共享状态的承诺体;2...
每个构造函数都有一个添加了std::allocator_arg_t作为第一个参数、内存分配器对象作为第二个参数的版本,C++17中已经移除(GCC从未提供,可能是因为std::function的内存分配无法自定义)。同样删除的还有assign,也是与内存分配器相关的。 另外有一个以std::reference_wrapper作为参数的赋值函数: ...