Concepts definieren

Ich schrieb schon ein paar Artikel über Concepts. Concepts sind Anforderungen, die Namen besitzen. In diesem Artikel definiere ich ein paar Concepts.

Weiterlesen...
Kommentar schreibenGelesen: 9305

Placeholders - Die Zweite

Die Vereinheitlichung von Templates, Concepts und Platzhaltern geht weiter. Dieses Mal werde ich einen genaueren Blick auf eingeschränkte (Concepts) und uneingeschränkte (auto) Platzhalter in Zusammenhang mit Templates werfen.

Weiterlesen...
Kommentar schreibenGelesen: 7228

Concepts - Placeholders

C++11 kennt mit auto unconstrained placeholders. Concepts in C++20 können als constrained placeholders verwendet werden. Was sich auf den ersten Blick nicht besonders spannend anhört, ist für mich der entscheidende Quantensprung, Templates als einfaches C++ Sprachmittel zu etablieren.

Weiterlesen...
Kommentar schreibenGelesen: 10817

Expression Templates

Expression Templates sind "structures representing a computation at compile time, which structures are evaluated only as needed to produce efficient code for the entire computation" (https://en.wikipedia.org/wiki/Expression_templates). As needed, damit sind wir mitten in der Bedarfsauswertung und in diesem Artikel.

Weiterlesen...
Tags: Templates
Kommentar schreibenGelesen: 9707

C++ ist doch lazy!

In meinem Artikel Rekursion, Verarbeitung von Listen und Bedarfsauswertung zu den Charakteristiken der funktionalen Programmierung habe ich geschrieben: Die Geschichte der Bedarfsauswertung in C++ ist kurz. Leider habe ich meine Rechnung ohne Templates gemacht. Die zwei fortgeschrittene Template Techniken CRTP und Expression Templates basieren auf der Bedarfsauswertung.

Weiterlesen...
Tags: Templates
Kommentar schreibenGelesen: 14337

Monaden in C++

Monaden in C++? Was für ein seltsamer Titel für einen Artikel. Doch so seltsam ist er gar nicht. Mit std::optional wird C++17 um eine Monade erweiterte. Die Ranges-Bibliothek von Eric Niebler und die erweiterten Futures, auf die wir in C++20 hoffen dürfen, sind Monaden.

Weiterlesen...
Kommentar schreibenGelesen: 12982

Concepts Lite

Wir bleiben im Jahr 2020. Mit C++20 werden wir Concepts Lite erhalten. Auch wenn verlässliche Aussagen über die Zukunft schwierig sind, so besitzt diese Aussage doch eine sehr hohe Wahrscheinlichkeit einzutreffen. Sie stammt aus dem Munde von Bjarne Stroustrup (Meeting C++ 2016).

Weiterlesen...
Tags: Concepts
Kommentar schreibenGelesen: 9561

Die neue Ranges Bibliothek

Ein kleiner Zeitsprung und wir sind im Jahr 2020. Mit C++20 wird - soweit sich die Zukunft voraussagen lässt - C++ um die neue Ranges-Bibliothek erweitert. Mit der Range-Bibliothek von Eric Niebler wird das Arbeiten mit den Containern deutlich komfortabler und mächtiger. 

Weiterlesen...
Tags: Monaden
Kommentar schreibenGelesen: 9955

Fold Expressions

Mit Fold Expressions lassen sich die aus Haskell bekannten Funktionen foldl, foldr, foldl1 und foldr1, die eine Liste sukzessive auf einen Wert reduzieren, direkt in C++ umsetzen.

Weiterlesen...
Kommentar schreibenGelesen: 7664

Abonniere den Newsletter (+ pdf Päckchen)

Beiträge-Archiv

Sourcecode