Namensräume
Varianten
Aktionen

Dynamische Speicherverwaltung

Aus cppreference.com
< cpp
 
 
 
Dynamische Speicherverwaltung
Low-Level-Speicherverwaltung
Zuweiser
Original:
Allocators
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
allocator
allocator_traits(C++11)
allocator_arg_t(C++11)
allocator_arg(C++11)
uses_allocator(C++11)
scoped_allocator_adaptor(C++11)
Initialisierter Speicher
Original:
Uninitialized storage
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
uninitialized_copy
uninitialized_copy_n(C++11)
uninitialized_fill
uninitialized_fill_n
raw_storage_iterator
get_temporary_buffer
return_temporary_buffer
Intelligente Zeiger
Original:
Smart pointers
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
unique_ptr(C++11)
shared_ptr(C++11)
weak_ptr(C++11)
auto_ptr(veraltet)
owner_less(C++11)
enable_shared_from_this(C++11)
bad_weak_ptr(C++11)
default_delete(C++11)
Garbage Collection Unterstützung
Original:
Garbage collection support
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
declare_reachable(C++11)
undeclare_reachable(C++11)
declare_no_pointers(C++11)
undeclare_no_pointers(C++11)
pointer_safety(C++11)
get_pointer_safety(C++11)
Verschiedenes
Original:
Miscellaneous
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
pointer_traits(C++11)
addressof(C++11)
align(C++11)
C-Bibliothek
Original:
C Library
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
 

Inhaltsverzeichnis

[Bearbeiten] Intelligente Zeiger

Intelligente Zeiger ermöglichen automatische, ausnahmensichere Ressourcenverwaltung.

definiert in Header <memory>
Zeigerkategorien
intelligenter Zeiger, der exklusiven Objektbesitz abbildet
(Klassen-Template) [edit]
intelligenter Zeiger, der geteilten Objektbesitz abbildet
(Klassen-Template) [edit]
(C++11)
intelligenter Zeiger, der eine schwache, d.h. nicht blockierende, Referenz auf einen std::shared_ptr verwaltet
(Klassen-Template) [edit]
(veraltet)
Zeiger, der exklusiven Objektbesitz abbildet
(Klassen-Template) [edit]
Hilfsklassen
bietet eine Ordnung anhand der Eigentümer für gemischte Mengen aus shared_ptr und weak_ptr an
(Klassen-Template) [edit]
ermöglicht einem Objekt einen shared_ptr auf sich selbst zu erstellen
(Klassen-Template) [edit]
Ausnahme beim versuchten Zugriffs auf einen weak_ptr, der auf ein schon zerstörtes Objekt verweist
(Klasse) [edit]
die voreingestellte Löschfunktion für unique_ptr
(Klassen-Template) [edit]
Adaptoren für intelligente Zeiger
(C++23)
arbeitet mit externen Setzern eines Zeigers zusammen und setzt einen intelligenten Zeiger beim Zerstören zurück.
(Klassen-Template) [edit]
(C++23)
erzeugt einen out_ptr_t mit dem zugehörigen intelligenten Zeiger und Argumente zum Zurücksetzen
(Funktions-Template) [edit]
arbeitet mit externen Setzern von Zeigern zusammen, bekommt den initialen Zeigerwert aus einem intelligenten Zeiger und setzt ihn beim Zerstören zurück.
(Klassen-Template) [edit]
(C++23)
erzeugt ein inout_ptr_t mit einem zugehörigen intelligenten Zeiger und Argument zum Zurücksetzen
(Funktions-Template) [edit]

[Bearbeiten] Allokatoren

Allokatoren sind Klassen-Templates, die die Strategien der Speicherverwaltung kapseln. Dadurch sind generischen Containern in der Lage, die Speicherverwaltung und die Verwaltung der Daten selbst zu entkoppeln.

definiert in Header <memory>
der Standardallokator
(Klassen-Template) [edit]
liefert Informationen über Allokatoren
(Klassen-Template) [edit]
speichert die Adresse und die wirkliche Größe des durch allocate_at_least belegten Speichers
(Klassen-Template) [edit]
belegt mindestens so viel Speicher wie vom Allokator angefordert
(Funktions-Template) [edit]
Type zur Auswahl der Konstruktorüberladungen mit Allokatorunterstützung
(Klasse) [edit]
eine Konstante, um Konstruktoren, die Allokatoren unterstützen, auswählen zu können
(konstanten) [edit]
prüft, ob der angegebene Typ allokatorgestützte Erzeugung unterstützt.
(Klassen-Template) [edit]
erzeugt die passende Argumentenliste für die Art der Allokatorkonstruktion, wie sie vom gegebenen Type benötigt wird.
(Funktions-Template) [edit]
erzeugt ein Objekt des gegebenen Typs durch Benutzung des gegebenen Allokators
(Funktions-Template) [edit]
erzeugt ein Objekt mit dem vorgegebenen Typ an der vorgegebenen Speicheradresse unter Benutzung des gegebenen Allokators
(Funktions-Template) [edit]
definiert in Header <scoped_allocator>
implementiert die Zuweisung über mehrere Ebenen für Container, die in mehrfachen Ebene unterteilt sind
(Klassen-Template) [edit]
definiert in Header <memory_resource>
definiert in Namensraum std::pmr
ein Allokator, der Laufzeitpolymorphie basierend auf der Speicherresource, die zur Konstruktion benutzt worden ist, unterstützt.
(Klassen-Template) [edit]

[Bearbeiten] Speicherressourcen

Speicherressourcen implementieren Speicheranforderungsstrategien, die von std::pmr::polymorphic_allocator benutzt werden können.

definiert in Header <memory_resource>
definiert in Namensraum std::pmr
eine abstrakte Interfaceklasse, die Speicherressourcen kapselt
(Klasse) [edit]
gibt eine statische, für das ganze Program gleiche, Speicherressource (std::pmr::memory_resource) zurück, die den globalen operator new und operator delete zum Allokieren und Freigeben von Speicher verwendet.
(Funktion) [edit]
gibt eine statische Speicherressource (std::pmr::memory_resource) zurück, die keinerlei Allokation vornimmt.
(Funktion) [edit]
gibt die voreingestellten Speicherressource std::pmr::memory_resource
(Funktion) [edit]
setzen der voreingestellten Speicherressource (std::pmr::memory_resource)
(Funktion) [edit]
ein Satz an Konstruktoroptionen für Poolressourcen
(Klasse) [edit]
eine zugriffsverwaltete Speicherressource (std::pmr::memory_resource) zur Verwaltung von Allokation in Speicherpools mit verschiedenen Blockgrößen
(Klasse) [edit]
eine Speicherressource (std::pmr::memory_resource) für die Verwaltung von Allokationen in Speicherpools mit verschieden großen Speicherblöcken.
(Klasse) [edit]
eine spezielle Speicherressource (std::pmr::memory_resource), die den Speicher erst frei gibt, wenn sie zerstört wird.
(Klasse) [edit]

[Bearbeiten] Nichtinitialisierter Speicher

Es werden einige Hilfsfunktionen zur Verfügung gestellt, die das Erzeugen und den Zugriff auf nichtinitialisierten Speicher ermöglichen.

definiert in Header <memory>
ein Iterator, der es Standardalgorithmen erlaubt, Ergebnisse in nicht initialisierten Speicher zu speichern
(Klassen-Template) [edit]
gibt nicht initialisierten, temporären Speicher für die angegebene Zahl von Elementen zurück
(Funktions-Template)