C++ 概念: CopyInsertable
来自cppreference.com
指定类型实例能以给定分配器原位复制构造。
[编辑] 要求
类型 T
可复制插入 (CopyInsertable
) 进入其 value_type
等同于 T
的容器 X
,若 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 的用户定义特化。
[编辑] 注意
若 A
是 std::allocator<T> ,则这将调用布置 new ,如用 ::new((void*)p) T(v) 。