Open Source im professionellen Einsatz

Modernes C++ in der Praxis – Folge 7

Rasch verschoben

Diese Folge geht ans Eingemachte von C++11: Sie zeigt, wozu Move-Semantik nützlich ist, erklärt Rvalues und Lvalues und deckt auf, was es mit dem doppelten &-Zeichen auf sich hat.

Wenn das Kopieren von Daten zu aufwändig oder unmöglich ist, kann sich der Programmierer damit behelfen, sie stattdessen zu verschieben. Diese einfache Idee liegt der Move-Semantik in C++11 zugrunde. Wer sie geschickt anwendet, bewegt auf diese Weise große Datenmengen schneller und kann sogar Smart Pointer mit der STL versöhnen. Dieser Artikel zeigt, wie das geht.

Großer Kopierer

Listing 1 enthält eine einfache Klasse namens »BigArrayCopy« , die einen Wrapper um ein einfaches C-Array darstellt. Diese Programmzeilen sollen als Grundlage für weitere Optimierungen dienen. Um das C-Array richtig zu verwalten, merkt sich »BigArrayCopy« in den Zeilen 37 und 38 den Verweis auf das C-Array »data_« und dessen Länge »len_« .

Listing 1

[...]

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