allocator

    3熱度

    2回答

    總之,我的問題是:如果您有類MyClass<T>,如何更改類定義以支持您有MyClass<T, Alloc>的情況,類似於說,STL向量提供。 我需要此功能來支持共享內存的分配器。具體來說,我試圖在共享內存中實現一個環形緩衝區。目前,它具有以下的構造函數: template<typename ItemType> SharedMemoryBuffer<ItemType>::SharedMemory

    5熱度

    5回答

    是否有使用operator new[]作爲分配器的STL實現?在我的編譯器上,使Foo::operator new[]私有並沒有阻止我創建一個vector<Foo> ......這種行爲是否由任何東西保證?

    5熱度

    3回答

    最近我已經注意到下面的語句不是真的給出std::string s。 s.max_size() == s.get_allocator().max_size(); 我發現這個有趣的,默認情況下std::string將使用std::allocator<char>其中有size_type(-1)一個理論極限(是的,我知道我假設2的補,但這是無關的實際問題)。我知道實際的限制會比這少很多。在一個典型的3

    0熱度

    2回答

    我正在編寫一個C++自定義分配器以用於STL。當我把下面的代碼在類定義,它編譯: #include "MyAlloc.hpp" #if 1 template <typename T> typename MyAlloc<T>::pointer MyAlloc<T>::allocate(size_type n, MyAlloc<void>::const_pointer p) { v

    4熱度

    3回答

    我正在使用自定義分配器來計算多個容器中的內存使用情況。目前我使用一個靜態變量來說明內存使用情況。我怎樣才能將這個帳戶分離到多個容器中,而不必重寫分配器來使用不同的靜態變量? static size_t allocated = 0; template <class T> class accounting_allocator { public: // ty

    0熱度

    2回答

    顯然,有一個「malloc_allocator」提供了gcc,可用於STL。它只是包裝malloc和免費的。還有一個針對內存不足處理程序的鉤子。我在哪裏可以找到更多關於它?我在哪裏可以找到它的頭文件?我使用的是gcc 4.x.

    2熱度

    3回答

    我想創建一個大std::vector所以operator[]應該接受long long而非unsigned int,我試着寫我自己的分配器: template <typename T> struct allocator64 : std::allocator<T> { typedef long long difference_type; typedef unsigned lon

    1熱度

    2回答

    我正在用C++編寫Apache模塊。我需要將所有孩子需要閱讀的共同數據存儲爲共享內存的一部分。結構是一種向量圖,所以我想使用STL圖和向量。我寫了一個共享分配,併爲宗旨共享經理,他們工作的優良載體,但沒有地圖,下面是例子: typedef vector<CustomersData, SharedAllocator<CustomersData> > CustomerVector; Customer

    0熱度

    1回答

    我們正在使用的STLport,我們想改變STLport的默認分配器: 代替矢量<INT>,我們想嘗試矢量< INT,otherallocator > stlport中有哪些替代分配器可用,它們的功能是什麼? 我該如何使用它們?