Wie schon im ersten Teil berichtet, suche ich vernünftige Anwendungsfälle für std::optional. Dabei ist mir aufgefallen, dass schon viele Variablen implizit optional sind/behandelt werden. Ohne, dass eine extra Variable wie z.B. bool vorhanden; vorhanden ist. Nehmen wir z.B. ein Adressbuch. Wenn der Adresszusatz nicht angegeben wurde, ist der String einfach leer. Ein std::optional<std::string>> adresszusatz; wäre […]
10.03.2017
09.03.2017
Biologie++ - Über die Natur der Genmutation
Eine kurze Zusammenfassung der Zusammenfassung von "Über die Natur der Genmutation und der Genstruktur" von Max Delbrück, Timofeeff-Ressovsky und K.G. Zimmer. a) Spontan treten verschiedenste Mutationen auf, die Mutationsrate ist aber gering, und beträgt ... ca. 0.1% b) Die spontane Mutabilität ist zeitunabhängig... c) Die spontane Mutationsrate ist als Prozentstatz der Mutationen pro Zeiteinheit zu […]
C++(+)
"c++17 is out now." "c++20 we know if you think on macros. people will die if you dont stop it" "c++30 alle pepole who has written code in FORTRAN77 are dead now" "c++35 there are only 10 kinds of languages out there. strong types and not" "c++36 only strong types left" "c++42, this is the […]
Biologie++ - Einführung
Zum Start möchte ich mit einem Zitat von 1933 beginnen. Der Gedanke ist von Nils Bohr. Aus den Erinnerung von Max Delbrück. Niedergeschrieben von Ernst Fischer. Zu lesen in "Das Atom der Biologen". In der Physik kennt man das einfachste Atom, den Wasserstoff. Ein Elektron umkreist ein Proton. Man kann nun bis zum Ende aller […]
C++17 Guns - std::optional
Ich glaube, ich sehe einen Verwendungszweck für std::optional. Ein hydraulischer Schacht kann mehrere Punkte besitzen. Z.B. für Schachtdeckel (DMP) und Schachtmittelpunkt (SMP). Nun sind Datensätze nie vollständig, und ich muss mit beiden Punkthöhen weiter rechnen, wenn sie denn existieren. Das lässt sich natürlich leicht über ein boolean hasDMP realisieren. Und einer Schleife die über alle […]
C++17 Guns - std::make_tuple - warum so umständlich?
Seit C++11 gibt es den Typ std::tuple und std::pair. Das erstellen derselben war über Hilfsfunktionen std::make_tuple() bzw. std::make_pair() möglich: auto x = std::make_tuple(1, 'X', 3.14); Die Vereinfachung wurde jetzt im C++17 Standard aufgenommen. Nennt sich P0091R3 - Template argument deduction for class templates. This paper proposes extending template argument deduction for functions to constructors of […]
08.03.2017
05.03.2017
TODO C++ Guns - Vererbung und Datenstrukturen und Performance
Ich denke, Vererbung und Datenstrukturen sind nicht gut für die Performance. Mir ist auch noch kein so wirklicher Anwendungsfall in der Praxis begegnet. Heute habe ich mal was probiert. Ein Stück Kanal, welches in der Erde liegt und Abwasser durch schwimmt, nenne ich von nun an eine Haltung. Eine Haltung hat mehrere Attribute, die für […]
Lichtschranken Verkabelung
Heute war ein schweißtreibender Arbeitstag. Drei der geplanten fünf Lichtschranken sind montiert. Jede Lichtschranke braucht immerhin fünf Kabel plus zwei Abschirmungen. Wir verlegen Sender und Empfänger in getrennte Leitungen, um die gegenseitige Störung zu vermeiden. Dazu braucht es auch Steckverbinder und die Kabel mussten quer durch die Anlage gelegt werden. Das erfordert viel Über-Kopf-Arbeiten und […]
03.03.2017
Lichtschranken Fortschritte
Es gibt eine neue Lichtschranke auf der Anlage. Oben beim Bergbahnhof Gleich 1. Wurde eben erst frisch ein betoniert. Daher ist auch noch kein Gras über den Leim gewachsen ;) Und es liegt auch noch Baumaterial auf dem Gleis, dass schnellst möglichst weggeräumt werden muss! Dies ist also die Position am Gleis, an der die […]