Other articles


  1. class X : public Y ist böse -- concepts lite, gut?

    Published: Wed 21 May 2014
    By towi

    In C++.

    Hier wird argumentiert, dass in Java extends “böse” ist.

    Während die Formel “ist böse” natürlich zu einfach ist, stimme ich der Argumentation jedoch zu und ich finde es schön begründet. Mal weniger theoretisch als auch schön an praktischen Beispielen.

    In C++ entspricht das wohl dem, dass man besser type traits …

    read more
  2. Keine Wert-Initialisierung mehr? -- oder eine Fürsprache für Privatisierung

    Published: Fri 21 February 2014
    By towi

    In C++.

    Ist es nicht ein Segen, dass man eine eigene neue Klasse auf sooo viele Arten Initialisieren kann?

    struct Person {
        string name_;
        int alter_;
        string ort_;
    };
    

    Nur 3 Membervariablen, aber 4 tolle Möglichkeiten zum Initialisieren:

    Person otto {"Otto", 44, "Aachen"};
    Person hans {"Hans", 33};
    Person paul {"Otto"};
    Person kurt {};
    

    Weil wir …

    read more
  3. Swap-Operator?

    Manuelles Swap

    Elemente zu vertauschen ist an vielen Stellen eine gefährliche Operation. Zu Zeiten ohne Exceptions und ohne * Multithreading* war vertauschen noch einfach:

    Typ temp = a;
    a = b;
    b = temp;
    

    Aber was passiert hier genau:

    • Typ temp = a; – erzeugt eine neue Instanz und initialisiert sie mit a, per Copy Constructor …
    read more
  4. Endorsing-Unsinn

    Mal was ganz anderes. Wöchentlich bekomme ich von Linkedin Mails, wie folgt:

    Torsten,

    Congratulations! Your connection Xyz Abc has endorsed you for the following skills and expertise:

    Perl

    Zugegeben, ich habe mein Profil vor ca 11 Jahren dort erstellt, als ich aus der Bioinformatik (Perl-lastig) heraus einen neuen Job suchte …

    read more
  5. make_unique

    Published: Wed 04 September 2013
    By towi

    In C++.

    Was für ein Überseher! Da gibt es die wichtige und nützliche Funktion make_shared() um einen shared_ptr ssicher zu erzeugen, und in dem ganzen Trubel um die Fertigstellung von C++11 wurde das Pendant make_unique() übersehen. Das lässt sich zum Glück leicht korrigieren und die meisten C++11-konformen …

    read more
  6. C++ Networking als Teil des Standards

    Natürlich wird es nicht ein paar Jahre dauern bis aus der Ankündigung, dass eine Arbeitsgruppe die Arbeit aufnimmt letztlich ein Standard wird, aber es geht vorwärts.

    Im Oktober will die Study Group 4 Ideen zur Standardisierung zur Netzwerkprogrammierung vorstellen: IPv4 und IPv6-Adressen, Adressen auflösen, Ports und URIs, Datagramm- und Netzwerk-Streams …

    read more
  7. Effective C++11 -- Scotts erste Ideen

    Scott Meyers hat erste Ideen zu seinen Empfehlungen für ein potentielles Effective C++11.

    Einige Kandidaten findet man indirekt auch in C++11 programmieren

    • “Prefer auto to Explicit Type Declarations” – die Vorteile werden in [typeinfer.auto] besonders beschrieben, aber auch an vielen anderen Stellen
    • “Prefer non-member begin/end to member …
    read more
  8. Mit C++11 hört C++ nicht auf -- unbounded-precision integer types

    Mit der Verabschiedung von C++11 gibt sich die Gemeinde natürlich nicht zufrieden. Auch C++ wird sich natürlich noch weiter entwickeln. Einige Dinge wurden aus C++0x herausgelassen, damit “0x” es letztendlich wenigstens “11” werden konnte. Man wird aber sicher alte Bekannte irgendwann wiedersehen.

    Dazu gehören zuvorderst natürlich die Concepts …

    read more

links

social