Speicher

Strategien für das Anfordern von Speicher

Es gibt viele Strategien, Speicher anzufordern. Programmiersprachen wie Python oder Java fordern ihren Speicher auf dem Heap zur Laufzeit des Programms an. C und C++ kennt natürlich auch den Heap, benutzt aber bevorzugt den Stack. Doch diese Strategie sind bei weitem noch nicht alle. Speicher lässt sich natürlich auch zur Startzeit des Programms als fester Block oder Pool von Blöcken vorallokieren und zur Laufzeit verwenden. Da stellt sich mir natürlich die Frage. Was sind die Vorteile dieser verschiedenen Strategien, Speicher anzufordern?

Weiterlesen...
Gelesen: 13881

Speicher anfordern mit std::allocator

Was haben alle Container der Standard Template Library gemein? Sie besitzen einen Typ-Parameter Allocator, für den per Default std::allocator zum Einsatz kommt. Die Aufgabe des Speicherbeschaffers (allocator) besteht darin, den Lebenszyklus seiner Elemente zu verwalten. Das bedeutet, Speicher für die Elemente anzufordern und freizugeben und diese zu initialisieren und zu destruieren.

Weiterlesen...
Gelesen: 23215

Operator new und delete überladen: Teil 2

Im letzten Artikel habe ich operator new und delete überladen. Damit war es möglich, Speicherlecks zu erkennen und einen ersten Hinweis auf den Bösewicht zu erhalten. Meine Lösung besaß aber noch zwei größere Unschönheiten. Mit diesem Artikel werde ich diese beseitigen.

Weiterlesen...
Gelesen: 11330

Operator new und delete überladen: Teil 1

Häufig kommt es in C++ Applikationen vor, dass Speicher zwar angefordert aber nicht mehr freigegeben wird. Hier schlägt die Stunde von operator new und delete. Dank den beiden Operatoren ist es möglich, das Speichermanagement der Applikation explizit zu verwalten. 

Weiterlesen...
Gelesen: 16149

Explizites Speichermanagement

Explizites Speichermanagement in C++ besitzt eine hohe Komplexität aber auch eine mindestens so große Funktionalität. Leider ist diese spezielle Domäne von C++ weitgehend unbekannt. So lassen sich mit ihr Objekte direkt in einem statischen Speicher, einem vorreserviertem Bereich oder auch einem Speicherpool erzeugen. Funktionalität, die für sicherheitskritische Applikationen insbesondere in der embedded Welt einen entscheidenden Mehrwert liefert. Doch vor der Kür steht die Pflicht. Daher werde ich in diesem Artikel einen Überblick geben, bevor ich in weiteren Artikeln auf die Details eingehen.

Weiterlesen...
Gelesen: 13023

Garbage Collection - No thanks

C++ ist eine so altmodische Programmiersprache. Sie unterstützt kein Garbage Collection. Kein Garbage Collection? Stimmt! Altmodisch? Stimmt nicht!

Weiterlesen...
Tags: Speicher, RAII
Gelesen: 25139

std::array - Keine dynamische Speicherallokation notwendig

std::array verbindet das Beste aus zwei Welten. Zum einen besitzt es die Größe und Effizienz eines C-Arrays, zum anderen bietet es das Interface eines std::vector an.

Weiterlesen...
Gelesen: 23654

Automatisches Speichermanagement mit Containern

Einer der großen Vorteile des C++-Strings gegenüber dem C-String, bzw. dem std:::vector gegenüber dem C-Array ist es, dass diese C++ Datenstrukturen automatisch ihren Speicher verwalten. Dies trifft natürlich neben dem std::string auf alle Container der Standard Template Library zu. Diese automatische Speicherverwaltung will ich mir in diesem Artikel für den std::vector und den std::string genauer anschauen.

Weiterlesen...
Gelesen: 12715

std::weak_ptr

std::unique_ptr verkörpert das Konzept des exklusiven, std::shared_ptr des geteilten Besitzes. Bleibe ich in diesem Bild, dann verkörpert der std::weak_ptr das Konzept des zeitlich eingeschränkten Besitzes, den er leiht sich die Ressource von einem std::shared_ptr aus. Der std::weak_ptr besitzt insbesondere eine Existenzberechtigung: Zyklische Referenzen von std::shared_ptr zu brechen.

Weiterlesen...
Gelesen: 17872

Mentoring

Stay Informed about my Mentoring

 

Rezensionen

Tutorial

Besucher

Heute 1244

Gestern 1599

Woche 6846

Monat 22788

Insgesamt 3321700

Aktuell sind 29 Gäste und keine Mitglieder online

Kubik-Rubik Joomla! Extensions

Abonniere den Newsletter (+ pdf Päckchen)

Beiträge-Archiv

Sourcecode

Neuste Kommentare