12得票4回答
如何使用符合STL标准的分配器进行异构内存分配

我正在尝试实现一个类,它在内存中由某种任意类型的数组跟随: template<class T> class Buf { size_t n; int refs; explicit Buf(size_t n) : n(n) { } // other d...

12得票2回答
C++11有状态的分配器在类型边界上是否可以互换?

我在这里的问题基本上是对以下问题的跟进: 如何在C++11中编写有状态分配器,考虑到复制构造的要求? 基本上,尽管C++11标准现在允许有状态的分配器,但我们仍然要求如果您复制某个 Allocator ,则副本必须通过 == 运算符与原始值相等。 这表示,复制可以安全地释放由原始值分配的内...

12得票2回答
无法在allocate_shared/make_shared中使用自定义的分配器

在我的C++11程序中,我使用shared_ptr<T>来管理一些需要主动释放的对象。恰好标准分配器(通过operator new)成为了性能瓶颈,因此我想创建自己的分配器,该分配器将一次性分配一大块内存,然后根据需要提供给make_shared函数。不幸的是,这是我第一次编写分配...

12得票1回答
分配器是什么,何时需要使用它们?

在阅读C++和标准库方面的书籍时,我经常看到对分配器的引用。 例如,Nicolai Josuttis的《The C++ Standard Library》在最后一章详细讨论了它们,而Scott Meyers的《Effective STL》中的第10项(“了解分配器的约定和限制”)和第11项(...

12得票2回答
斯蒂芬·拉瓦维奇的Mallocator在C++11中是否相同?

8年前,Stephen Lavavej发布了一个名为“Mallocator”的简单分配器实现的博客文章。自那以后,我们已经过渡到C++11(很快就会是C++17)时代......新的语言特性和规则是否会影响Mallocator,还是仍然与原来一样相关?

12得票2回答
unordered_set可以使用不同的分配器为节点和桶列表分别分配内存吗?

我想使用带有std::pmr::monotonic_buffer_resource的std::pmr::unordered_map。这两者很搭配,因为该集合的节点是稳定的,所以不需要通过重新分配来创建大量的缓冲区空洞: std::pmr::monotonic_buffer_resource...

11得票2回答
STL容器中对有状态分配器的编译器支持

新的C++11标准要求容器中的STL实现支持有状态分配器。目前主要的STL实现(Visual Studio 2008、2010、libstdc++)是否已经满足这个要求?我在MSDN或libstdc++文档中没有找到相关信息。

11得票2回答
有没有一个分配器可以使用alloca,同时符合C++ STL规范?

我有两个问题: 1)是否可以实现一个分配器,使用alloca在堆栈上分配内存,并且其他方面符合C++ STL的规范? 如果有代码存在,您可以通过简单地将URL指向我来使我感到高兴。 :-) 如果没有代码,请您勾画一下allocate和deallocate函数的功能? 2)如果上述问题的答...

11得票4回答
SSE 和 C++ 容器

以下代码为什么会导致段错误?#include <vector> #include <emmintrin.h> struct point { __m128i v; point() { v = _mm_setr_epi32(0, 0, 0, 0); ...

11得票1回答
使用带有分配器的std::unique_ptr

这次我在尝试使用分配器时发现有很多资源泄漏的可能性。因此,我想如果我使用std::unique_ptr来处理它们会怎么样。我尝试使用std::vector的分配器。我的代码如下: // allocator #include <iostream> #include <vect...