C++Guns – RoboBlog

08.07.2019

C++ Guns: std::ofstream better err msg

Filed under: Allgemein — Tags: — Thomas @ 20:07

Das gibt eine gescheite Fehlermeldung (wann fixen die endlich streams & exceptions? terminate called after throwing an instance of 'std::system_error' what(): failed to open /home/ite/config/clusterprocessaccounting.dat : No such file or directory

04.07.2019

C++ Guns: Fingerübung: can convert double to int?

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

Wir bekommen öfter mal große integer Zahlen als double gespeichert in den Daten. Beim konvertieren nach Text (andere story) mit 6 signifikanten Ziffern und wissenschaftlicher Darstellung fallen Ziffern weg. Obwohl die wissenschaftliche Darstellung mit einem Exponent bei ganzen Zahlen nicht nötig wäre. Fingerübung: Schreibe eine Funktion die true zurück gibt, wenn die übergebene double Zahl […]

22.06.2019

C++ Guns: 2019-06 pre-Cologne Paper - funny one

Filed under: Allgemein — Tags: — Thomas @ 08:06

P1770R0: On vectors, tensors, matrices, and hypermatrices - Wirklich jeder sollte diese kurze Präsentation einmal durchschauen. Ich habe den Eindruck, als hätte mindestens ein Mensch auf der Welt Ahnung von dem Thema. P1764R0: ssize Should be Named count - Kurz und kompakt P0631R7: Math Constants ENDLICH! P1768R0: Contiguous Containers Should Contain .data() - Ja P1751R0: […]

09.06.2019

C++ Guns: std::filesystem und std::regex

Filed under: Allgemein — Tags: — Thomas @ 07:06

Heute mache ich die ersten Versuche mit std::filesystem und std::regex. Der GCC 8.1 ist installiert. Die Doku liegt bereit. Es kann los gehen. std::filesystem Ich möchte bestimmte "Müll" Dateien im Projekt Verzeichnis auflisten und ihren Speicherplatzverbrauch summieren. Die Handhabung von std::filesystem ist wirklich erstaunlich einfach. Klar strukturiert. Es funktioniert. Etwas, dass böse Zungen von std::chrono […]

08.06.2019

Graph - Basics of shortest paths

Filed under: Allgemein — Thomas @ 10:06

Shortcut links: Basic graph definitions Basics of shortest paths (this page) Path lengths and distances Sei 𝐺 = (𝑉, 𝐴) ein einfacher, gerichteter Graph und für jede Kante 𝑎 ∈ 𝐴 sei 𝑙(𝑎) eine reale Nummer und die Länge von 𝑎. Die Länge von einem gewöhnlichen Path (inklusive gewöhnliche cycles) ist die Summe von den […]

01.06.2019

C++Guns: RE: C++ Core Guidelines: std::array und std::vector sind die erste Wahl

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

Ich finde es schade, dass der Artikel von Rainer Grimm bei heise.de C++ Core Guidelines: std::array und std::vector sind die erste Wahl so wenig Beachtung bekommt. Er wirft nicht nur ein paar interessante Fragen auf, sondern geht auf der Kernaussage von Performance ein: Don't think, use std::vector. Natürlich hat sich der C++ Gründervater Bjarne Stroustrup […]

31.05.2019

Besuch von zwei Gänse

Filed under: Allgemein — Thomas @ 20:05

Besuch von zwei Gänse. Zwei? Wochen alt. Gesunden Appetit und munter. Nur das Schwimmen klappt noch nicht so und die Flügel müssen auch noch erst wachsen.

29.05.2019

Graph - Basic graph definitions

Filed under: Allgemein — Thomas @ 14:05

Shortcut links: Basic graph definitions (this page) Basics of shortest paths Gerichtete und ungerichtete Graphen Ein gerichteter Graph 𝐺 = (𝑉, 𝐴) besteht aus einer endlichen Menge 𝑉 von Knoten und einem multiset 𝐴 von geordneten Paaren von Knoten. Die Elemente von 𝐴 sind die gerichteten Kanten von 𝐺. Ein ungerichteter Graph 𝐺 = (𝑉, […]

10.05.2019

C++ Guns: play with threads and future

Filed under: Allgemein — Tags: — Thomas @ 13:05

Um schnell zu testen ob ein Rechner erreichbar ist, kann man ihn pingen. Der ping timeout dauert aber gern mal eine Sekunde. Wenn 10 Rechner nicht erreichbar sind, wartet man auch 10 Sekunden auf das Programm. Statt potentiell nur eine Sekunde. Die ping Anweisung kann man gut parallel ausführen. Zeit für std::async und std::future Hier […]

C++ Guns: C++20 class types in non-type template parameters

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

Mit C++20 und GCC9 wir können als Template Parameter nun auch einfach eigenen Typen angeben. Ohne uns mit Workarounds herumschlagen zu müssen. Ein einfaches Beispiel sollte es verdeutlichen

Older Posts »

Powered by WordPress