Open Source im professionellen Einsatz

Modernes C++ in der Praxis – Folge 9

Klug aufgeräumt

Der Smart Pointer gilt als der klügste seiner Art in C++11. Sein Fachgebiet ist die elegante Garbage Collection, manchmal muss aber sein kleiner Bruder Weak Pointer mithelfen.

Ein unrühmliches Alleinstellungsmerkmal der Sprache C++ war lange, dass sie belegten Speicher nicht selbst aufräumte, also keine Garbage Collection anbot. Mit C++11 hat sich das geändert, denn der neue Standard bietet explizite, automatische Speicherverwaltung in Form von Reference Counting. Das vermeidet Effekte wie Programmabbrüche infolge doppelt gelöschter, dynamisch allokierter Variablen oder das ungebremste Vergrößern der Anwendung infolge vergessener Speicherbereinigung. Dieser Artikel zeigt, wie der C+×Programmier Reference Counting mit Hilfe der neuen Shared Pointer »std::shared_ptr« einsetzt.

Der einfache Anwendungsfall

Der Shared Pointer ist der klügste aller Smart Pointer in C++11. Im Gegensatz zum Unique Pointer »std::unique_ptr« [1] teilt er sich den Besitz an einer Ressource, aber im Unterschied zum Weak Pointer »std::weak_ptr« besitzt er die Ressource. Die Idee hinter dem Shared Pointer ist einfach und mächtig zugleich: Jeder Shared Pointer hält zwei Verweise, einen auf die Ressource, die er kapselt, einen anderen auf den Referenzzähler, wie Abbildung 1 zeigt.

Abbildung 1: Der Shared Pointer hält einen Verweis auf seine Ressource, der Referenzzähler zählt mit.

[...]

Das Linux-Magazin Online veröffentlicht erstmals alle Print-Artikel, die in den vergangenen sechs Jahren im Linux-Magazin erschienen sind. Damit steht Ihnen ein hochwertig bestücktes Archiv bis hin zu den Beiträgen der aktuellen Ausgabe online zur Verfügung. Die über 1200 Artikel sind größtenteils kostenlos zugänglich, nur für Beiträge (als PDF) der jüngsten zehn Linux-Magazine ist eine Gebühr von jeweils 99 Cent fällig.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook