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: 25162

Perfect Forwarding

Heute lösen wir ein bisher ungelöstes Problem in klassischem C++: " ... a herefore unsolved problem in C++" (Bjarne Stroustrup). Um es kurz zu machen, es geht um Perfect Forwarding.

Weiterlesen...
Tags: move, forward
Gelesen: 30792

Move-Semantik - Zwei nette Eigenschaften

In diesem Artikel werde ich zwei nette Eigenschaften der Move-Semantik vorstellen, die mir zu selten erwähnt werden. Container der Standard Template Library (STL) können nicht kopierbare Elemente besitzen. Die Copy-Semantik ist der Fallback für die Move-Semantik. Verwirrt? Absicht!

Weiterlesen...
Tags: move
Gelesen: 14578

Copy- versus Move-Semantik: Ein paar Zahlen

Viel wurde über die Vorteile der Move- gegenüber der Copy-Semantik schon geschrieben. Anstelle einer teuren copy-Operation kommt eine billige move-Operation zum Einsatz. Doch was heißt das? In diesem Artikel vergleiche ich die Performanz der Copy- mit der Move-Semantik bei den Containern der Standard Template Library (STL).

Weiterlesen...
Tags: move
Gelesen: 20618

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: 23678

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: 12733

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: 17885

Besonderheiten des std::shared_ptr

Nachdem ich im letzten Artikel das große Bild zu std::shared_ptr beschrieben habe, komme ich heute zu zwei besonderen Aspekten der Smart Pointer. Zum einen zeige ich mit std::shared_from_this, wie sich ein std::shared_ptr von einem Objekt erzeugen lässt, zum anderen beschäftigt mich die Frage: Soll ein std::shared_ptr per Copy oder per Referenz übergeben werden. Insbesondere der zweite Punkt besitzt einiges an Überraschungspotential.

Weiterlesen...
Gelesen: 19760

std::shared_ptr

std::shared_ptr teilen sich eine gemeinsame Ressource. Dabei zählt der gemeinsame Referenzzähler mit, wie viele Besitzer die Ressource hat. Wird der Smart Pointer std::shared_ptr kopiert, erhöht sich automatisch der Referenzzähler. Beim Löschen eines std::shared_prt wird sein Referenzzähler hingegen automatisch erniedrigt. Erreicht der Referenzzähler den Wert 0, wird die Ressource freigegeben.

Weiterlesen...
Gelesen: 22677

Mentoring

Stay Informed about my Mentoring

 

Rezensionen

Tutorial

Besucher

Heute 525

Gestern 2151

Woche 6571

Monat 31430

Insgesamt 3330342

Aktuell sind 26 Gäste und keine Mitglieder online

Kubik-Rubik Joomla! Extensions

Abonniere den Newsletter (+ pdf Päckchen)

Beiträge-Archiv

Sourcecode

Neuste Kommentare