2017-03-14 72 views
1

我想试验pmr::memory_resource以获取动态内存池。C++ 17:对pmr命名空间类的编译器支持

This页面和this页面意图列出C++ 17功能并为每个功能指示编译器支持。但是,我没有在此处列出pmrmemory_resourcepolymorphic_allocator

另外,关于这些建议功能的最新建议是什么?我从2014年初发现this修订后的提案。这是最新的吗?

+0

如果有帮助,我已经得到了麻省理工学院许可的大部分'st d :: pmr' [在此回购](https://github.com/Quuxplusone/from-scratch/blob/master/include/scratch/memory_resource)。您可以随时将它们复制到您的项目中用于实验目的。 – Quuxplusone

回答

4

属于pmr命名空间的多态分配器不是编译器功能 - 它们是新的标准库功能。你应该参考以下页面:

需要注意的是多态的内存资源和多态性分配器是"Library Fundamentals V1 TS Components for C++17"的一部分。

  • 的libstdC++的支持是当前不可用:

    enter image description here

  • 的libC++支持被标记为 “进步”:

    enter image description here

+0

gcc令人困惑,因为您在C++ 14下拍摄的图像显示为“部分”,其中C++ 1z中的“库基础V1 TS组件:memory_resource”行只是表示“否” – ThomasMcLeod

+0

@ThomasMcLeod:哎呦。固定! –

+0

所以对于gcc的答案是“否”,我需要使用clang。你碰巧从经验中知道这一点吗? – ThomasMcLeod