C++Guns – RoboBlog

23.11.2017

C++ Guns: RE: Abstraction design and implementation: `repeat` Teil 2

Filed under: Allgemein — Tags: — Thomas @ 19:11

In Teil 1 ging es um die allgemeinen Probleme einer simplen for() Schleife. In Teil 2 werde ich Vittorio Romeo Ansatz verfolgen, eine repeat() Funktion zu erstellen, die eine Funktion f genau N mal aufruft. Syntaktisch und semantisch würde ich diesen Code okay finden: Die Funktion f wird einfach 10 mal aufgerufen. Das war einfach. […]

C++ Guns: RE: Abstraction design and implementation: `repeat` Teil 1

Filed under: Allgemein — Tags: — Thomas @ 17:11

Hallo, ich möchte hier ein paar Gedanken äußern zu dem tollen Artikel "abstraction design and implementation: `repeat`" von Vittorio Romeo [1]. Sein Ziel ist es eine simple for() Schleife, wie wir sie schon alle hingeschrieben haben, zu nehmen und zu verbessern. Das Problem bei einer voll ausgeschriebenen for() Schleife ist, dass sie zeigt WAS alles […]

02.11.2017

C++ Guns - Addressen von Referenzen

Filed under: Allgemein — Tags: — Thomas @ 12:11

Haben Referenzen in C++ eigene Adressen, so wie normale Variablen und Pointer, oder haben sie nur die Adresse der referenzierten Variablen? Wenn Referenzen eigene Adressen besitzen, existieren sie wie normale Variablen im RAM. Ich meine mich aber erinnert zu haben, dass eine Referenz nur ein Alias für eine andere Variable ist. Einfach nur syntactic sugar […]

27.10.2017

C++ Guns - multi derived CRTP - more pain

Filed under: Allgemein — Tags: — Thomas @ 19:10

And because we love pain, here come the CRTP diamond derive. Have fun with these. (no, don't) UltraBase Base Child UltraBase Base2 Child2

C++ Guns - multi derived CRTP

Filed under: Allgemein — Tags: — Thomas @ 19:10

As we all know, CRTP is bad. The reasons against you can read on my unpublish Artikel "Why CRTP is a bad choise". Nevermind. Here come a CRTP with a linear derived chain. Base Base2 Child

24.09.2017

C++ Guns - Settings class

Filed under: Allgemein — Tags: — Thomas @ 11:09

Für das nächste große Projekt will ich Einstellungen aus einer Datei lesen und in Performance kritischen Codeabschnitt nutzen. Die Variablen sollen read-only, also const, sein. So wird ein versehentlichen verändern der Einstellungen verhindert und der Compileroptimierer freut sich auch. Auf getter-Funktionen möchte ich wegen unnötigen Code verzichten. Wenige Variablen werden besonders häufig benutzt, daher soll […]

12.09.2017

C++ Guns - Missed optimizations

Filed under: Allgemein — Tags: , — Thomas @ 02:09

Compiler sind nicht perfekt. Gerade das Optimieren von Code ist so komplex, dass es keinen Algorithmus dafür gibt. Ehr werden Heuristiken dafür benutzt. So kommt es schon mal vor, dass bei banal aussehenden Code die Compiler Optimierung versagt hat und es möglich ist, von Hand schnelleren Assembler Code zu schreiben. In [1] wurde viele solcher […]

04.09.2017

C++ Guns - Semantik und concepts - Part 3

Filed under: Allgemein — Tags: — Thomas @ 17:09

Kommen wir nun zu den concepts. Wie anfangs erwähnt, las ich das Paper [1]. Ich erlaube mir hier ein paar Ausschnitte davon zu kommentieren, um meine Motivation zu begründen. A concept has semantics; it means something; it is not just a set of unrelated operations and types. Without an idea of what operations mean and […]

C++ Guns - Semantik und concepts - Part 2

Filed under: Allgemein — Tags: , — Thomas @ 14:09

Im letzten Post wollte ich deutlich machen, welche Art von Fehler passieren, wenn zwischen den TypenPoint3D und Vector3D keinen semantischen Unterschied gemacht wird. Also, wenn ein Rechenergebnis von der Bedeutung ein Vektor ist, es aber in einem Punkt Datentyp gespeichert wird. Die erste Lösung war, einen zusätzlichen Datentyp Vector3D zu erstellen, welcher sich genau wie […]

01.09.2017

C++ Guns - Semantik und concepts - Part 1

Filed under: Allgemein — Tags: — Thomas @ 10:09

Ich lese gerade das Paper Concepts: The Future of Generic Programming or How to design good concepts and use them well von Bjarne Stroustrup http://www.stroustrup.com/good_concepts.pdf und muss sagen, ich bin restlos begeistert! Die Idee dahinter wird sehr toll beschrieben. Das ist mir am wichtigsten, so dass es möglich ist, die Idee auch bei anderen Programmiersprachen […]

Older Posts »

Powered by WordPress