allocator

Eine Komponente der C ++ - Standardbibliothek, die für die Verarbeitung der Anforderungen für die Zuweisung und Freigabe von Speicher für einen Container zuständig ist.
2
Antworten

Idiom für die Einhaltung von propagate_on_copy_assignment in Container ohne Allokator

Angenommen, Sie haben einen Container, der intern andere Standardcontainer verwendet, um komplexere Datenstrukturen zu bilden. Zum Glück sind die Standardcontainer bereits so konzipiert, dass sie alle notwendigen Arbeiten ausführen, um sicherzus...
15.12.2014, 23:18
1
Antwort

Kann std :: vector das Kopieren vermeiden, wenn der Zuordner realloc-Semantik bereitstellt?

Ich habe eine Speicherschnittstelle, die das Beschaffen von Adressraum von dem Anfügen von Unterstützungsspeicher trennt. (Unter Linux ist der Pool des Adressbereichs, der von der Schnittstelle verwaltet wird, MAP_ANONYMOUS und MAP_NORESERVE, ma...
06.05.2014, 21:38
2
Antworten

Kann benutzerdefinierten Zuordner mit allocate_shared / make_shared nicht verwenden

In meinem C ++ 11-Programm verwende ich shared_ptr<T> für einige Objekte, die aktiv erstellt und gelöscht werden. Es ist also passiert, dass der Standard-Allokator mit operator new ein Flaschenhals ist, also möchte ich einen eigenen...
18.03.2014, 17:55
1
Antwort

Garantiert der C ++ 17-Standard, dass die Adresse einer Union dieselbe ist wie die Adresse ihrer Mitglieder?

Ich arbeite gerade an der Programmierung eines Pool-Allokators. Meine Frage läuft auf den folgenden Code hinaus: %Vor% Ist die Adresse von mu immer die selbe wie für mu2?     
02.05.2017, 21:24
1
Antwort

Warum sind std :: allocator :: construct und std :: allocator :: destroy auf Elementtyp templated?

Die Funktionen std::allocator s construct und destroy member werden am Typ des zu konstruierenden Elements parametrisiert: %Vor% Was ist der Grund dafür? Warum nehmen sie weder value_type* noch pointer ? Es scheint, als ob all...
11.05.2012, 00:49
1
Antwort

Verwenden eines benutzerdefinierten Zuordners in einem std :: scoped_allocator_adaptor mit std :: unordered_map

Ich versuche, einen einfachen Speicherpoolzuordner mit std::unordered_map zu verwenden. Ich habe den gleichen Allokator scheinbar erfolgreich mit std::string und std::vector verwendet. Ich möchte, dass die Elemente, die in der unordered...
07.07.2013, 23:39
2
Antworten

Gibt es einen Allokator, der alloca verwendet und ansonsten C ++ STL-konform ist?

Ich habe zwei Fragen: 1) Ist es möglich, einen Allocator zu implementieren, der Alloca verwendet, um Speicher auf dem Stack zuzuordnen, und ansonsten C ++ STL-kompatibel? Wenn es Code gibt, können Sie mich glücklich machen, indem Sie einfa...
02.11.2010, 22:09
2
Antworten

std :: unique_ptrT [] und benutzerdefinierter Zuordnungslöscher

Ich versuche, std::unique_ptr<T[]> mit benutzerdefinierten Speicherzuordnern zu verwenden. Grundsätzlich habe ich benutzerdefinierte Zuordner, die Unterklassen von IAllocator sind, die die folgenden Methoden bereitstellt: %Vor% D...
09.02.2015, 15:17
1
Antwort

Ordnen Sie Speicher im Vektor korrekt zu

Ich versuche std::vector als Programmierübung zu implementieren. Betrachten Sie das folgende Code-Snippet: %Vor% m_data hat den Typ T* . Ich muss Speicher mit std::allocator_traits<allocator_type>::allocate(m_alloc, m_capac...
23.09.2015, 14:43
7
Antworten

So implementieren Sie eine Zeichenfolge, die ausschließlich auf dem Stapel zugeordnet wird

In einem Projekt vor etwa zehn Jahren haben wir festgestellt, dass die dynamischen Zuweisungen von std::vector zu einem erheblichen Leistungsverlust geführt haben. In diesem Fall wurden viele kleine Vektoren zugewiesen, so dass die schnelle L...
14.10.2014, 08:47