在线文档教程
C++
动态内存管理 | Dynamic memory management

std::pmr::polymorphic_allocator

STD::PMR::多态[医]分配器

Defined in header
template< class T > class polymorphic_allocator;(since C++17)

类模板std::pmr::polymorphic_allocatorAllocator其分配行为取决于它所用的内存资源。因此,不同的实例polymorphic_allocator会表现出完全不同的分配行为。此运行时多态性允许对象使用polymorphic_allocator如果它们在运行时使用不同的分配器类型,而不考虑相同的静态分配器类型,则要执行此操作。

成员类型

Member typedefinition
value_typeT

成员函数

(constructor)Constructs a polymorphic_allocator (public member function)
(destructor) (implicitly declared)Implicitly declared destructor (public member function)
operator= deletedCopy assignment operator is deleted (public member function)

公共成员职能

分配内存%28公共成员函数%29

释放释放内存%28公共成员函数%29

在分配的存储%28公共成员函数%29中构造一个对象

销毁已分配的存储%28公共成员函数%29中的对象

选择[医]上[医]集装箱[医]复制[医]构造创建一个新的多态[医]容器使用的分配器%27s复制构造函数%28公共成员函数%29

资源返回指向基础内存资源%28公共成员函数%29的指针。

非会员职能

operator==operator!=compare two polymorphic_allocators (function)

注记

polymorphic_allocator不在容器副本分配、移动分配或交换上传播。因此,移动polymorphic_allocator-使用容器可以抛出,并交换两个polymorphic_allocator-使用其分配器在未定义行为中不比较相同结果的容器。

另见

memory_resource (C++17)an abstract interface for classes that encapsulate memory resources (class)

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cpPreference.com/w/cpp/Memory/多态[医]分配器