Other articles


  1. Errata (C++11)

    Published: Sat 01 August 2020
    By towi

    In blog.

    • Seite 15: map<string<,vector<int>>
    • Seite 133, letzte Textzeile: “In main wird die aber bei opf.return reset(nullptr)…”
    • Seite 139, Listing 19.2: “Base *p = new Base Derived {}
    • Seite 161, Listing 22.4: “return Thing(forward<T>(t), forward<TU>(u), forward<TV>(v));
    • Seite 172, letzter Absatz …
    read more
  2. Errata (C++ Handbuch 2017)

    Published: Thu 15 February 2018
    By towi

    In blog.

    S. 30, Satzfehler [(nur 1. Auflage)]{style=”color: #aaa;”}
    Mir sind an einigen Stellen “~~\newline~~” in den Text geraten, die dort nicht hingehören.
    S. 63, Listing 4.2, Tippfehler [(nur 1. Auflage)]{style=”color: #aaa;”}
    if(!cin) { muss sein if(!std::cin) {.
    S. 63, Text unter Listing unten, Fehler [(nur …
    read more
  3. Errata (C++ Einführung)

    Published: Tue 09 December 2014
    By towi

    In blog.

    Seite 50: #include, da fehlt das “l”.

    Kapitel 14.1, Fehlerbehandlung mit Rückgabewerten

    Im Buch steht in Listing 14.1, Seite 207:

    Zeile 12:   int count = 0 // am EOF wird noch ein Wort gelesen
    Zeile 18:   return count - 1;
    

    wobei im Beispiellisting 28-codes.cpp aber steht

    Zeile 12:   int count …
    read more
  4. Auto und for-Schleifen

    Nein, man lernt tatsächlich nie aus. Seit C++11 können wir ja schreiben

    vector data{};
    ...
    for(auto e : data) { cout << e; };
    

    Das ist schon ganz schön praktisch gegenüber for(vector it=data.begin();...) { cout << *it; }, hat aber den großen Nachteil, dass erstens e hier oimmer kopiert wird und zweitens Änderungen …

    read more
  5. FAQ001: modern102.cpp compiliert nicht auf Microsoft Visual Studion 2012

    FAQ

    Habe soweit das Programm modern102.cpp in Visual Studio 2012 übernommen. Wenn ich das Prgramm ausführen lassen möchte, bekomme ich als Fehlermeldung:

    error C2601: ‘table’: Lokale Funktionsdefinitionen sind unzulässig

    Mir wird genau an der Stelle:

    …static std::map\<int, int> table{};…

    bei der geschweiften Klammer angezeigt, dass was nicht …

    read more
  6. Stringly typed languages

    Published: Fri 15 August 2014
    By towi

    In Misc.

    Ich bin auf eine Liste von Namen für Programmierparadigmen gestoßen, die wir alle kennen, aber denen köstliche und einprägsame Namen gegeben wurden:

    • Die Joda-Bedingung if(value.equals("Wert"))` ersetzt if("Wert".equals(value))
    • Pokemon Exception Handling wenn man einfach mit try { block } catch(...) { handler } alles fängt.
    • Egyptian brackets ist, enn …
    read more
  7. 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
  8. Game of Writing

    Published: Thu 15 May 2014
    By towi

    In Misc.

    Was ich hier einem Freund über George R. Martin geschrieben habe will ich euch nicht vorenthalten. Ich hoffe es kommt auch unübersetzt rüber.

    Actually, I can totally follow that reasoning. Not that I think of it I myself have the most proliferating writing sessions bereft of my internet connection: Either …

    read more
  9. 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
  10. Buch: A Tour of C++

    Soso, da gibt es also ein neues Buch vom Erfinder: A Tour of C++, Bjarne Stroustrup.

    Ich habe viele Stimmen gehört, die sein Standardwerk zum C++-Standard gut fanden, aber vielleicht war ich damals einfach zu früh.

    bei Amazon

    Ein schneller Blick in sein neues – viel schlankeres – Werk ist nach meinem Geschmack …

    read more
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. Schrödinger programmiert C++

    …Das etwas andere Lehrbuch (Galileo Computing)

    Ich kann dieses Buch sehr empfehlen.

    Buchbild

    Es liefert einen guten Einstieg in C++.

    Es ist locker geschrieben, bleibt aber dennoch bei den Fakten. Es bringt die C++igen Konzepte durchaus herüber, ist jedoch nicht dogmatisch. Der Leser wird auch nützliche C’ismen erlernen, aber …

    read more
  17. 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