C++ 具名要求:可就位构造 (EmplaceConstructible) (C++11 起)
来自cppreference.com
指定该类型的对象能以给定的分配器从给定的一组实参构造到未初始化存储之中。
要求
以下情况下,类型 T
为从实参 args
可就位构造 (EmplaceConstructible) 进容器 (Container) X
(其 value_type
等同于 T
):给定
A
|
具分配器类型 |
m
|
A 类型的左值
|
p
|
容器所准备的 T* 类型的指针
|
args
|
零或更多实参 |
其中 X::allocator_type
等同于 std::allocator_traits<A>::rebind_alloc<T>,
下列表达式良构:
std::allocator_traits<A>::construct(m, p, args);
若 X
不具分配器,则如同 A
就是 std::allocator<T> 一样进行定义,但并不需要创建分配器对象,且不会实例化用户定义的 std::allocator 的特化。
参阅
可复制插入 (CopyInsertable) | |
可移动插入 (MoveInsertable) |