C++Guns – RoboBlog

11.02.2018

C++ Guns: std::chrono::duration to nice human readable text

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

std::chrono::duration stellt eine Zeitspanne dar. Zum Beispiel wie lange ein Programm schon läuft. Eine Textausgabe in Sekunde, Minuten, Stunden u.s.w wäre also schön. Die Umrechnung von std::chrono::duration nach Stunden ist super einfach. Die Hauptarbeit übernimmt std::chrono::duration_cast und vordefinierte Werte für Sekunden, Minunten und Stunden gibt es schon. Die Erweiterung für Tage ist entsprechend einfach.

08.02.2018

line 1: #!/bin/bash: No such file or directory

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

$ ./test.sh ./test.sh: line 1: #!/bin/bash: No such file or directory $ cat test.sh #!/bin/bash $ ll /bin/bash -rwxr-xr-x 1 root root 1.1M May 15 2017 /bin/bash WTF?! Wo ist der Fehler? Ein Blick mit dem hexeditor zeigt seltsame Zeichen am Dateianfang, die im Texteditor nicht sichtbar sind. $ head -n 1 test.sh | hexdump […]

05.02.2018

C++ Guns: Generic Data Type Design Pattern - Teil 4

Filed under: Allgemein — Tags: — Thomas @ 16:02

Die Idee, für User defined Datentypen jede Variable in einem std::tuple oder std::array zu halten, kann nicht überall gut sein. Für jede Variable benötigt man noch eine getter Funktion um der Variablen einen Namen und damit Semantik zu geben. Ich hatte in den letzten Kapitel noch erwähnt, dass es viel Sinn macht, diese Funktionen als […]

02.02.2018

C++ Guns: Generic Data Type Design Pattern - Teil 3

Filed under: Allgemein — Tags: — Thomas @ 23:02

Im letzten Teil hatte ich das serialisieren angesprochen wie das z.B. mit der Qt Klasse (und andere) QDataStream möglich ist. A data stream is a binary stream of encoded information which is 100% independent of the host computer's operating system, CPU or byte order. For example, a data stream that is written by a PC […]

C++ Guns: Generic Data Type Design Pattern - Teil 2

Filed under: Allgemein — Tags: — Thomas @ 16:02

Weiter gehts mit der Anwendung meiner Idee alle einfachen Datentypen als std::array oder std::tuple abzubilden. Wie im ersten Teil schon für den Point2D Datentyp realisiert. Jetzt werde ich einen Range Datentyp bauen. Dieser besteht einfach aus zwei Zahlen die eine obere und untere Grenze von etwas angibt. Zusätzlich ist die Spanne zwischen obere und untere […]

C++ Guns: Generic Data Type Design Pattern - Teil 1

Filed under: Allgemein — Tags: — Thomas @ 15:02

Hmm das Problem lässt sich vermutlich am besten anhand von Beispielen erklären. Wie immer nehm ich gern mein Point2D Datentyp her. Es gibt ja verschiedene Wege so etwas zu implementieren. Eine class mit privaten x/y Variablen und entsprechende getter/setter. Oder ein struct mit nur public x/y Variablen: Das Problem bei dieser Implementierung ist, dass die […]

23.01.2018

C++ Guns - C++17 class template argument deduction user guide

Filed under: Allgemein — Tags: — Thomas @ 16:01

Es ist ja bekannt, dass der Compiler die Template Parameter von Funktionen selbst bestimmen kann. Seit C++17 funktioniert das nun auch mit Klassen. Das Feature hierfür nennt sich __cpp_deduction_guides und wird seit GCC 7 unterstützt. Mehr noch, es können User Guides angegeben werden. Mit denen wird festgelegt, wie genau sich der Type der Klasse ableiten […]

19.01.2018

GIT specify private ssh key

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

Das dumme an private keys ist, man kann sie nicht so einfach wie Passwörter überall mit hin nehmen. Schon garnicht zu anderen Rechner wo man selbst kein eigenen Useraccount hat. Und der vorhandene trusted user sein eigenen ssh key hat. Bei ssh kann man leicht sein eigenes keyfile mit angeben. Bei GIT geht das auch, […]

16.01.2018

C++ Guns: passing lambda to class - class template argument deduction

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

auf http://en.cppreference.com/w/cpp/language/class_template_argument_deduction gibts das halbe beispiel Ein compilierfähiges Beispiel wäre folgendes: g++ --version g++ (GCC) 7.1.0 g++ -std=c++17 lambdaFoo.cpp $ ./a.out 1 2 3 Aber hat irgendjemand eine Idee, was man damit anfangen soll? Mir erschließt sich das gerade nicht.

11.01.2018

C++ Guns: C++ && Unicode

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

Vorheriger Post Qt && Unicode Heute möchste ich Unicode Zeichen mit C++ schreiben. Und zwar mit dem normalen 1 Byte std::string und std::ostream, also std::cout. Mit Qt war das einfach, wie im vorherigen Post zu lesen ist. Die Klasse QString nutz intern 2 Byte Zeichen und sonst kümmert sich Qt ja auch um alles. Mit […]

Older Posts »

Powered by WordPress