Kategorien
C++Programmierung

Requires clause für Funktionsüberladung – Anwendungsbeispiel

Intro Dies ist der dritte (und voraussichtlich letzte) Artikel aus meiner kleinen Mini-Serie über vielleicht nicht so bekannte C++ Features / Pattern / Programmiertechniken für welche ich praktische Anwendungsbeispiele während der Arbeiten an meinen Projekten gefunden habe. Heute dreht es sich um die requires clause (Anweisung) eingesetzt für Funktionsüberladung (und deren Auflösung). Die Requires Clause […]

Kategorien
C++Programmierung

Ein nicht böses const_cast – Anwendungsbeispiel

Intro Dies ist der zweite Artikel meiner kleinen Mini-Serie über vielleicht nicht so bekannte C++ Features / Pattern / Programmiertechniken für welche ich praktische Anwendungsbeispiele während der Arbeiten an meinen Projekten gefunden habe. Dieses mal geht es um const_cast<T&>. Ein const_cast gilt als böse Es ist mehr oder weniger unstrittig, dass die Verwendung von const_cast<> […]

Kategorien
C++Programmierung

Ref-qualified overloads – Anwendungsbeispiel

Intro Dieser Artikel ist der erste von einer kleinen Serie von C++ Artikeln in denen ich C++ Features zeigen und erklären möchte, die vielleicht für einige (oder viele?) C++ Entwickler etwas unbekannter sind – vor allem deshalb weil sich Anwendungsfälle für die Praxis vielleicht nicht immer sofort erschließen lassen. Zumindest war dies bei mir der […]

Kategorien
C++Programmierung TeaScript (de)

Skriptsprachen Vergleich für Integration in C++

Der Skriptsprachen Vergleich ist nur auf Englisch verfügbar. Bitte hier klicken!

Kategorien
C++Programmierung

TOP 5 erstaunlichster C++20 Syntax

❆ Willkommen 👋 zu meinem 🎄🎅🎁 Weihnacht 🎄🎅🎁✨ –Spezial✨ ❆☃! Heute präsentiere ich meine persönlichen TOP 5 der erstaunlichsten C++20 Syntax-Konstrukte. Ich hoffe, es gefällt dir und du siehst vielleicht etwas Neues und/oder Interessantes. Los geht’s: Nummer 5 Diese Zeile erzeugt ein leeres Lambda und führt es direkt aus. Effektiv betrachtet, ist es eine No-Op. […]

Kategorien
C++Programmierung

Unions sind fast immer eine schlechte Idee.

Dieser Post wurde [wpstatistics stat=pagevisits time=total id=751] mal angesehen. Eine klassische union von C in C++ zu verwenden ist fast immer eine schlechte Idee und man sollte stattdessen std::variant verwenden. Ich zeige wieso. Und ich werde auch zeigen in welche große(!) Falle ich kürzlich selbst mit einer union gerannt bin. Wir starten mit einer einfachen […]

Kategorien
C++Programmierung

Schneller und einfacher Weg um Visual Studio Settings in Git zu teilen.

Beim „rapid prototyping“ braucht man sich nicht mit cmake herumschlagen um in kleinen Gruppen oder unterschiedlichen Maschinen arbeiten zu können – Visual Studio Property Sheets erklärt.

Kategorien
C++Programmierung

Die besten Visual Studio Settings für modernes C++ ?!

Dieser Post wurde [wpstatistics stat=pagevisits time=total id=534] mal angesehen. Folgend eine Liste meiner bevorzugten und vielleicht (?) besten Visual Studio Settings für modernes C++ basierend auf meinen Erfahrungen und Auswertungen. Jedes erwähnte Setting ist mit einer kurzen Erklärung versehen. Ich behandle nur „Release“ Builds – und ich verwende Visual Studio 2022, aber dieselben Settings sollten […]

Kategorien
C++Programmierung

C++ as a standalone script?

Seit meinen ersten Tagen als C++ Entwickler wollte ich C++ Code-Schnipsel als eigenständige Skriptdateien verwenden. So als wenn man folgenden C++20 Code-Schnipsel (siehe mein vorherigen Blog Post) in einer Datei schreibt und dann einfach ausführt: Aber wie kann man dies möglich machen?? Einen Interpreter zu entwickeln, welcher den kompletten Satz der C++ Sprache und ihre […]

Kategorien
C++Programmierung

Design by Introspection (C++20)

Vor einger Zeit bin ich über eine sehr interessante (und für mich neue) Technik namens „Design by Introspection“ gestoßen, welche mit dem Concepts-Feature von C++20 sehr einfach anwendbar ist. Diese Technik kann mit dem folgendem kleinen Code-Schnipsel veranschaulicht werden: Zunächst, der Parameter der Funktion hat den Typ auto. Dadurch wird er während des Kompilierens für […]