【发布时间】:2017-06-22 10:59:45
【问题描述】:
根据当前标准 (20.7.9),std::allocator 有一个成员 propagate_on_container_move_assignment,该成员设置为 true_type:
模板类分配器
{
公开:
typedef size_t size_type;
typedef ptrdiff_t 差异类型;
typedef T* 指针;
typedef const T* const_pointer;
typedef T& 参考;
typedef const T& const_reference;
typedef T value_type;
模板结构重新绑定{ typedef分配器其他; };
typedef true_typepropagate_on_container_move_assignment;
typedef true_type is_always_equal;
[...]
std::allocator 没有数据成员,并且始终与任何其他std::allocator 进行比较。是否有任何理由在移动分配时移动这些默认分配器?
【问题讨论】:
-
这不是 C++11。
is_always_equal是在 C++14 之后添加的。