Adr*_*ire 19 c++ allocator c++17
该标准C++17包括一个新的命名空间,pmr包括一组以名称分组的类memory_resource.
在网上搜索后,我发现很少有关于它的庸俗信息,直接后果是这个问题:
背后的主要思想pmr是pmr::memory_resource什么?
详细说明问题,我头脑中的一些问号是:
allocator?allocator提供给容器构造函数的运行时?(例如用于测试目的)语境:
在创建memory pool分配器的过程中,我找到了有关此命名空间的信息.读名字pool_options或者polymorphic_allocator引起我的注意.
相关问题:
A polymorphic_allocator旨在让您拥有一个在运行时动态确定其行为的分配器.
创建a的唯一方法polymorphic_allocator是:
默认构造,在这种情况下它使用std::pmr::get_default_resource()返回值,即a memory_resource*.
通过它memory_resource*.
从另一个复制polymorphic_allocator.
因此,a的定制点polymorphic_allocator是创建一个继承memory_resource并实现其方法的类,或者使用memory_resource在std::pmr(un)中定义的预先声明的s之一synchronized_pool_resource以及monotonic_buffer_resource作为类型或std::pmr::new_delete_resource()/ std::pmr::null_memory_resource().
假设您希望使用与5中提供的策略不同的策略来分配内存std::pmr.然后创建一个继承自的类std::pmr::memory_resource,并将其传递给使用a的容器polymorphic_allocator.
| 归档时间: |
|
| 查看次数: |
1680 次 |
| 最近记录: |