allocator

    38熱度

    3回答

    是否有可能讓std::vector的自定義結構分配對齊內存以便進一步處理SIMD指令?如果可以使用Allocator,有沒有人碰巧擁有這樣一個分配器,他可以分享?

    1熱度

    1回答

    我一直在嘗試使用basic_string和STL容器的自定義SecureAllocator,但我的運氣很不好。 typedef std::basic_string< char, std::char_traits<char>, SecureAllocator<char> > SecureString; SecureString value = "hello, world!"; vector<

    1熱度

    1回答

    表達式new T[n]可能會或可能不會初始化陣列中的每個對象,具體取決於T是什麼。 如何使用allocator複製此初始化行爲? struct Foo { int x; Foo() : x(1) { } }; Foo *p = new Foo[1]; assert(p[0].x == 1);

    1熱度

    2回答

    我寫了一個內存分配器,(這應該是)比使用malloc/free更快。 我寫了一小段代碼來測試這個,但我不確定這是否是分配內存分配器的正確方法,任何人都可以給我一些建議嗎? 這段代碼的輸出是: Mem_Alloc: 0.020000s malloc: 3.869000s difference: 3.849000s Mem_Alloc is 193.449997 times faster.

    5熱度

    2回答

    我正在寫一個容器,並希望允許用戶使用自定義分配器,但我不知道是否應該通過引用或按值傳遞分配器。 是否保證(或者至少是一個合理的假設)分配器對象將而不是直接包含其內存池,因此可以複製分配器並期望分配器的內存池交叉兼容?或者我總是需要通過引用傳遞分配器? (我發現,通過引用傳遞危害性能通過的> 2倍,因爲編譯器開始擔心走樣,所以它使一個I是否可以依靠這一假設。)

    5熱度

    1回答

    爲什麼不編譯this code? #include <cstdlib> #include <list> template < typename Type > class Allocator { public: using value_type = Type; public: template < typename Other > struct rebind

    0熱度

    1回答

    由Windows命名共享內存支持的std :: allocator(基於MAllocator)的implementation向MAllocator添加了一些項目。 的附加參數名稱爲分配(),改變過的std ::分配器的簽名。考慮到分配器通常是模板參數(錯誤將在編譯時捕獲),這是否是ok? template<class T> T *allocate(const size_t n, const cha

    14熱度

    2回答

    STL容器有一個用於選擇自定義分配器的模板參數。這花了一段時間,但我想我明白它是如何工作的。不知何故,它不是很好,因爲給定的分配器類型不是直接使用,而是反彈到另一種類型的分配器。最後我可以使用它。 讀完API之後,我意識到也有可能將分配器作爲構造器參數。但是,我怎麼知道容器使用哪種分配器,如果它從模板參數內部重新綁定給定的分配器? 此外,我讀了C++ 11現在使用範圍分配器,它允許重複使用容器的分

    15熱度

    1回答

    是否可以使用自定義分配器爲std::vector內部分配?如果是,如何?

    3熱度

    2回答

    我有一個關於STL類和分配器的問題,似乎並不容易在線查​​找。有誰知道在嵌套的STL類中使用哪個分配器?例如: typedef std::vector<int> myvect; //以下是編輯爲後續答覆中指出行/評論 typedef std::map<int, myvect, std::less<int>, A> mymap; //uses my custom allocator for ma