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
Kommentar schreibenGelesen: 1861

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
Kommentare 1Gelesen: 1604

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
Kommentare 4Gelesen: 2008

std::array - Keine dynamische Speicherallokation notwendig

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

Weiterlesen...
Kommentare 2Gelesen: 2276

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...
Kommentare 3Gelesen: 1475

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...
Kommentar schreibenGelesen: 1237

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...
Kommentar schreibenGelesen: 1679

Abonniere den Newsletter (+ pdf Päckchen)

Beiträge-Archiv

Sourcecode

Neuste Kommentare