C++ 具名要求:可复制插入 (CopyInsertable)

< cpp‎ | named req
 
 
 

指定该类型的实例能以给定分配器原位复制构造。

要求

以下情况下,类型 T 可复制插入 (CopyInsertable) 进容器 X(其 value_type 等同于 T):若 T 可移动插入 (MoveInsertable) X ,且给定

A 分配器类型
m A 类型的左值
p 容器所准备的 T* 类型的指针
v (可为 const 的)T 类型的表达式

其中 X::allocator_type 等同于 std::allocator_traits<A>::rebind_alloc<T>

下列表达式良构:

std::allocator_traits<A>::construct(m, p, v);

并且在求值后,*p 的值等价于 v 的值。而 v 的值不更改。

X 不具分配器,则如同 A 就是 std::allocator<T> 一样进行定义,但并不需要创建分配器对象,且不会实例化用户定义的 std::allocator 的特化。

注解

Astd::allocator<T>,则这将调用布置 new,如 ::new((void*)p) T(v)