Black Belt C++?



  • Was sind Eurer Meinung nach die schwierigsten, herausfordernsten und komplexesten Dinge in C++?
    Etwas, was man ohne akribisches Training der Grundlagen nicht bewältigen kann?
    Etwas, für das man viel Erfahrung benötigt? Vielleicht auch etwas, was auf den ersten Blick einfach erscheint, was man aber nur als "Black Belt" wahrlich durchschauen kann?

    Ich habe mit Absicht das Wort "Dinge" benutzt. Gemeint sein könnten Sprachfeatures, Konzepte, Patterns etc.
    Oder auch strukturelles, wie z.B. lauffähige Enterprise Software auf die Beine zu stellen oder Legacy Code warten.
    Oder auch: auf dem laufenden bleiben und die neuen Standards lernen?



  • @Mond Für mich ist das Template Meta Programming. Da ist vieles nicht offensichtlich. Ansonsten das mapping von C++-Namen zur Funktionionalität. Also zum Bleistift: std::move moved ja nix sondern castet in eine rvalue. So völlig merkwürdige Namen gibt's ja in C++ öfter.


  • Mod

    Es gbit das alte Guru of the Week Archiv von Herb Sutter für obskure C++-Effekte:
    http://www.gotw.ca/gotw/
    Zu der angegebene Schwierigkeit darfst du jeweils noch +2 dazu rechnen, da die Artikel 20 Jahre alt sind, und der Möchtegern-Blackbelt zusätzlich noch wissen muss, ob ein fragliches Verhalten nicht inzwischen geändert wurde.



  • @Tyrdal sagte in Black Belt C++?:

    Also zum Bleistift: std::move moved ja nix sondern castet in eine rvalue.

    Das ist ein interessantes Beispiel für Namensgebung. Auch wenn der Name überhaupt nicht beschreibt, was die Funktion tatsächlich macht, so finde ich den Namen dennoch didaktisch ziemlich gut gewählt. Er macht auch für Anfänger intuitiv verständlich, was da konzeptionell mit dem Wert einer Variablen passiert, wenn ich b = move(a) schreibe. Hieße das Ding cast_to_rvalue wäre das nicht der Fall und nur die Experten würden wissen wann und wie man das korrekt einsetzt.

    Ansonsten denke ich, dass nahezu alle Aspekte von C++ irgendwelche besonderen Regeln und Eigenschaften haben, die einen auch nach langjähriger Erfahrung noch überraschen können. Einfach, weil nur wenige Leute den hochkomplexen Standard komplett auswendig kennen und man über die meisten dieser Sonderregeln nur selten stolpert, da die Sprache/Implementierung trotz allem meistens das macht, was man erwartet - selbst in vielen UB-Fällen, was aber nicht unbedingt eine gute Sache ist (Loch im Fuß und so).


Log in to reply