std::pmr::polymorphic_allocator::polymorphic_allocator

polymorphic_allocator() noexcept;
(1)
polymorphic_allocator( const polymorphic_allocator& other ) = default;
(2)
template< class U >
polymorphic_allocator( const polymorphic_allocator<U>& other ) noexcept;
(3)
polymorphic_allocator( memory_resource* r);
(4)

构造新的 polymorphic_allocator

1)std::pmr::get_default_resource() 的返回值为底层 memory_resource 构造一个 polymorphic_allocator
2-3)other.resource() 为底层 memory_resource 构造 polymorphic_allocator
4)r 为底层 memory_resouce 构造 polymorphic_allocator 。此构造函数提供从 memory_resource* 的隐式转换。

目录

参数

other - 要复制的另一 polymorphic_allocator
r - 指向要使用的 memory_resource 的指针。不可为空。

异常

4) 不抛出任何异常。

注意

复制使用 polymorphic_allocator 的容器不会调用分配器的复制构造函数。新容器会替代地以 select_on_container_copy_construction 的返回值(默认构造的 polymorphic_allocator )为其分配器。

参阅

为容器的复制构造函数的使用创建一个新的 polymorphic_allocator
(公开成员函数)

版本历史

  • (当前 | 先前 2017年9月28日 (四) 23:45Fruderica讨论 | 贡献 . . (1,529字节) (-22). . (merge noexcept) (撤销)
  • 当前 | 先前) 2017年5月4日 (四) 08:58Fruderica讨论 | 贡献. . (1,551字节) (+1,551). . (以“{{cpp/memory/polymorphic_allocator/title|polymorphic_allocator}} {{cpp/memory/polymorphic_allocator/navbar}} {{dcl begin}} {{dcl| num=1 | 1= polymorphic_allocator();...”为内容创建页面)