allocator

    1热度

    1回答

    给定一个非无状态自定义分配器A(比如,竞技场分配器,绑定到运行时已知大小的一些连续内存块)和类S,其中包含AllocatorAwareContainer类型的文件夹: struct S { A() = default; // another c-tors std::vector<T> v; std::shared_ptr<U> s; }; 我想用A的

    8热度

    2回答

    我正在尝试使用std::unique_ptr<T[]>自定义内存分配器。基本上,我有一个是IAllocator,它提供了以下方法子类自定义的分配: void* Alloc(size_t size) template<typename T> T* AllocArray(size_t count) void Free(void* mem) template<typename T> void Fr

    0热度

    1回答

    我有一个程序(全码here),其围绕所述第四万六千迭代退出: { PROCESSER<MONO_CONT> processer; c_start = std::clock(); for (unsigned long long i = 0; i < iterations; i++) { BloombergLP::bdlma::BufferedSequenti

    1热度

    3回答

    请小例子。我试过在文档中使用这个,但我无法理解如何。 消息: main.cpp|97|error: no matching function for call to 'CryptoPP::SecBlock<unsigned char>::operator+=(CryptoPP::SecBlock<unsigned char>*)' secblock.h|568|note: ca

    0热度

    1回答

    我写了一个自定义分配,我使用的是std :: vector。代码在调试模式下编译和工作,但它无法在发布模式下编译并出现奇怪的错误。 这里是我的分配器: template< class T > class AllocPowOf2 { public: typedef size_t size_type; typedef ptrdiff_t difference_type;

    0热度

    1回答

    我有一个内存分配需要,我将需要一堆整数给定的“操作”。 这个“操作”持续几微秒,几乎总是我不需要任何内存。假设有70%的时间。 剩下的时间,我需要一个或两个,有时更多。我知道这个数字永远不会超过32768(2^15)。 我应该先分配128KB的内存,然后保留一个指向头部的指针。只要我的操作结束,我将指针重置为0. 这是一个缓存友好的分配器?

    1热度

    3回答

    我正在学习C++放置新的代码。 class Cell { public: Cell() { printf("default constructor by %s\n", __func__); } Cell(int ina) : a(ina) { printf("customized constructor.\n"); }

    1热度

    2回答

    Q#2更新。请回答新的Q#2! - Dannyu NDos,2017年1月17日 我一直在制作一个名为DRV的关联容器,它代表了一个有限的离散随机变量。这是一棵红黑色的树。我从标准std::map得到了帮助,但我也对此产生了困惑。 Q#1。它的拷贝如何具有O(n)时间复杂度?它不应该是O(n log n)吗?不过,我的DRV的拷贝文件有O(log n),使用std::async。 旧Q#2。为什么

    1热度

    1回答

    我有一个类型。我在我的应用程序的不同部分实例化它,但是我在某个地方循序遍历所有这些部分。我不知道最终会有多少人。我如何创建一个分配器来存储100个对象块并按需提供指针? 我曾尝试这样的方法用一个简单的工厂类固醇但它goes over 5 seconds: #include <iostream> #include <vector> #include <unordered_map> #inclu

    1热度

    1回答

    是否有可能在禁止例外情况下使用allocate_shared(fno-exceptions),并且分配器返回nullptr而不是抛出分配失败?这意味着有一个围绕allocate_shared的包装,当内存分配失败时返回一个空的shared_ptr。我正在寻找能够与GCC(libstdC++),Clang(libC++)和MSVC一起工作的东西。 当前想法:对控制块的大小设置一些上限,并且如果可以预