allocator

    0热度

    4回答

    打破我有一吨的功能被定义为这样的: template<typename T> void myFunction1(vector<T>& vin); 问题的关键是,我输入一个STL向量和做一些工作。 我最近需要将默认分配器更改为客户分配器。这似乎除非我改变定义,以打破各功能: template<typename T, typename Alloc> void myFunction1(vecto

    10热度

    2回答

    我试图为std::vector<char>使用自定义分配器,但我注意到std::vector不需要/使用我的分配器中的任何成员函数。这怎么可能? #include <vector> struct A : private std::allocator<char> { typedef std::allocator<char> alloc; using alloc::value_

    -1热度

    2回答

    我正在开发基于Skyline查询的算法,使用C++,使用RTree存储我的数据。该算法工作正常,如果我处理多达5点,然后如果我尝试6点,它给出了分段错误。 用GDB我发现这个问题是在这里: Program received signal SIGSEGV, Segmentation fault. std::basic_string<char, std::char_traits<char>, std

    2热度

    1回答

    N3485 20.6.9.1 [allocator.members]/1表示: 调用这些函数分配或解除分配的特定存储单元应在一个单一的总的次序发生,并且每个这样的重新分配呼叫应之前发生下一个分配(如果有)按此顺序。 最后一项要求让我感到困惑。看起来标准是说如果分配一块内存(我们称之为块a),然后分配另一个块(我们称之为块b),那么不允许释放块a,直到它具有解除分配的块b。 如果这确实是这一段的内容

    3热度

    1回答

    我想知道使用boost::fast_pool_allocator和null_mutex集的安全性。 我知道以下是一个不安全的实例。分配器是按类型实例化的。所以如果你有两个容器都使用fast_pool_allocator<int, …null_mutex>(比如说),它们将共享同一个分配器实例,并因此邀请数据竞赛。 更值得关注的是以下内容。分配器接口允许重新绑定。这意味着即使您认为您正在使用fast

    3热度

    1回答

    X:我需要知道我的程序的每个部分使用了多少内存。我的程序使用C++ std库,很多。特别是,我想知道每个对象使用多少内存。 如何我做它:登录的some_vector消费,只写 my::vector<double,MPLLIBS_STRING("some_vector")> some_vector; 其中 namespace my { template<class T, class S

    0热度

    1回答

    我想在共享内存中使用Boost进程库创建一个unordered_map。这里,是代码,这是我想要使用(以从升压进程间文件的例子): #include <boost/interprocess/managed_shared_memory.hpp> #include <boost/interprocess/allocators/allocator.hpp> #include <functional>

    1热度

    1回答

    我做了一个自定义的slab分配器,它使用mmap来分配固定大小的段池。这些段在逻辑上是连续的,但在物理上是离散的 我也定义了一个指针包装类,它包含了从池的逻辑起点开始的偏移量。 指针类看起来像: template<typename T> struct offptr_t { typedef offptr_t<T> this_t; typedef T element_type;

    2热度

    1回答

    我想要一个功能foo沿着这些线路 template <class T, class Alloc> void foo(T param, Alloc a) { vector<int, Alloc<int> > vect_of_ints; list<float, Alloc<float> > list_of_floats; do_something() } std:

    3热度

    3回答

    我想用更健壮的分配器替换标准分配器(C++标准只需要对vector :: resize进行溢出检查)。提供许多库的各种C++分配器在进行负面自我测试时,会在他们的脸上变得平坦。 我有权访问更健壮的分配器。 ESAPI的分配器不仅检查溢出,还有调试工具来帮助发现错误。 http://code.google.com/p/owasp-esapi-cplusplus/source/browse/trunk