cost 164 ms
自定義 C++ 分配器導致錯誤:_Container_base12::_Orphan_all_unlocked_v3()

[英]Custom C++ Allocator cause error in : _Container_base12::_Orphan_all_unlocked_v3()

所以我打算將這個基於堆棧的分配器用於 std::vector,並且我使用 2 arrays 進行分配(因為向量增長並將舊緩沖區復制到新緩沖區)。 這是完整的代碼: 代碼以某種方式導致崩潰:在此處輸入圖像描述在此處輸入圖像描述我注意到“_Container_base12”繼承自分配器,所以我想我的“ ...

Block、Stack 和 Scratch 分配器之間有什么區別?

[英]What are the differences between Block, Stack and Scratch Allocators?

賞金將在 6 天后到期。 此問題的答案有資格獲得+50聲望賞金。 doliphin正在尋找一個規范的答案: 我真的很想知道這些分配器之間的區別! 在他的演講“為引擎開發人員解決正確的問題”中,Mike Acton 說絕大多數時候,您需要的只是這三種類型的分配器:塊分配器、堆棧分配器和臨時分配器但 ...

具有不同分配器的 pmr 容器應該比較相等嗎?

[英]Should pmr containers with different allocators compare equal?

假設我有一個容器,它使用硬編碼的 pmr 分配器來存儲數據。 C++ 社區的共識是什么: operator==()應該在僅分配器不同的對象上比較相等還是應該強排序? 我可以看到這兩種情況的論據。 容器的可能實現: 演示 這個區分分配器^^ ...

分配器和 STL 個容器

[英]Allocator and STL containers

我正在嘗試重現 std::vector 容器,我看到在一個向量構造函數原型中我們可以提供一個分配器。 所以我首先想到了兩個問題,為什么我們能夠在知道我們已經擁有 allocator_type 成員類型的情況下提供一個分配器? 其次,如果我給構造函數一個不同的分配器會發生什么? 所以我試過這段代碼。 ...

自定義 STL 分配器:為每個元素調用構造/銷毀

[英]Custom STL Allocator: Construct/Destroy called for each element

我有這個代碼片段 Output: 有了這個分配器 因此很明顯,與默認分配器相比,緩沖區的每個 char 元素都會調用構造/銷毀,這導致執行時間增加了 20 倍。 我怎樣才能防止這種基本類型的這種行為? ...

如果分配器在 C++ 中是無狀態的,為什么不使用函數來分配 memory?

[英]If allocators are stateless in C++, why are functions not used to allocate memory instead?

默認的std::allocator class 在 C++ 中是無狀態的。這意味着std::allocator的任何實例都可以釋放由另一個std::allocator實例分配的 memory。 那么讓分配器實例分配 memory 有什么意義呢? 例如,為什么 memory 是這樣分配的: 當功能可 ...

Allocator object類型轉換

[英]Allocator object type conversion

有沒有一種方法,為類型 T 使用一個分配器 object,使用相同的 object 為任何其他類型分配 memory。 也許 static_cast 或 rebind 的一些魔法可以幫助? 因為現在我只知道如何使用重新綁定從原始分配器派生所需的 object 類型的分配器類型,但我不明白如何使用現成 ...

為什么使用 realloc 重新分配,使用 allocator::allocate 預先分配的 memory 保存舊的起始 memory 地址?

[英]Why does reallocating with realloc, a pre-allocated memory using allocator::allocate conserve the old start memory address?

主要問題是重新分配 memory,同時擴展它並保存數據和第一個起始 memory地址,該地址被程序的許多其他部分使用(例如 ZA81259CEF8E959C624ZDF1D456E5D329 起始內存) 這對 realloc 不起作用,因為他解除了分配的先例 memory 並影響另一個具有新的起始 ...

可以根據分配器類型將ctor標記為noexcept嗎?

[英]Can the ctor be marked noexcept based on allocator type?

如果分配器不拋出,我應該如何確保構造函數是noexcept ? 這是一個MRE: 首先,我想知道為什么noexcept( std::allocator<unsigned> { } )返回true ? std::allocator<unsigned>異常安全嗎? 就像帶有這 ...

如果 uses_allocator 為真,則必須可以使用分配器進行構造

[英]construction with an allocator must be possible if uses_allocator is true

我正在嘗試創建一個 pmr 分配的數據結構(比較下面的代碼)。 然而,這失敗了,並出現了一條非常長的錯誤消息,我無法完全追蹤它的根源。 最后是一個 static_assert ,它表示construction with an allocator must be possible if uses_al ...

如何在派生構造函數的初始化列表中有條件地 select 基構造函數

[英]How to conditionally select base constructor in initialization list of derived constructor

示例: std::vector的包裝器。 我有 2 個移動構造函數: 但是,如果給定的 memory 分配器與移動參數中的相同,我想進行優化以避免昂貴的向量構造函數。 就像是: 這在 C++ 中是否可行? 注意:問題有條件地初始化 C++ 成員變量的正確方法? 不相似,因為我無法將條件推送到基本構造 ...

為什么我的 pmr 感知容器被復制而不是移動?

[英]Why are my pmr-aware containers copied instead of moved?

我正在嘗試這些新的 pmr 東西,這些東西看起來真的很有趣。 因此,在我的示例中,我將monotonic_buffer_resource連接到緩沖區並用日志記錄資源覆蓋它,以了解正在進行的分配。 然后我使用該資源創建一個pmr::vector並推回我的 pmr 感知容器類型(它本質上只是一個pmr ...

有沒有辦法調整 C++ 中的緩沖區大小

[英]Is there a way to resize a buffer in C++

我是 memory 管理的菜鳥,所以請原諒我。 假設我有以下代碼: 有沒有一種好方法可以給這個緩沖區“添加空間”,而不是創建一個新緩沖區,分配更多空間,將舊緩沖區復制到新緩沖區,然后替換舊緩沖區? ...

鏈接到 C++ 的自定義內存分配器

[英]Linking to custom memory allocator for c++

我的目標是為 ARM 處理器交叉編譯一些用 C++ 編寫的代碼。 那里沒有運行操作系統,我們需要裸機代碼。 但是,問題是我要運行的許多 C++ 代碼都不是裸機,至少需要動態內存。 我希望做一些基本的內存分配器(可能是線性分配器)並鏈接到它,這樣 C++ 代碼就可以在沒有操作系統的情況下編譯和運行。 ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM