Seite 1 von 1
C++26 mit Reflections
Verfasst: 28.09.2024, 10:45
von Mirror
Es wurde ja Zeit, dass C++ Reflections bekommt. Zumindest war es wünschenswert.
https://www.heise.de/blog/Programmiersp ... 20405.html
Re: C++26 mit Reflections
Verfasst: 28.09.2024, 12:30
von antisteo
das Feature überzeugt mich nicht so. Zwei neue kryptische Symbol-Syntax-Konstrukte und keine Möglichkeit, global mit Registries zu arbeiten. Also muss man sich wieder alles selbst bauen.
Re: C++26 mit Reflections
Verfasst: 28.09.2024, 12:58
von Mirror
antisteo hat geschrieben: ↑28.09.2024, 12:30
das Feature überzeugt mich nicht so. Zwei neue kryptische Symbol-Syntax-Konstrukte und keine Möglichkeit, global mit Registries zu arbeiten. Also muss man sich wieder alles selbst bauen.
Ja, finde es auch schrecklich hässlich. Aber immerhin geht es.
Re: C++26 mit Reflections
Verfasst: 28.09.2024, 14:28
von Schrompf
Ja, es geht. Ich meine... ist gar nicht mehr einfach, in der überkomplexen C++-Syntax noch ne Lücke zu finden, wo was Neues reinpasst. Und das antike C++-CompilationModel wird wahrscheinlich auch sein Elend dazu beitragen, dass es nix Globales gibt. Muss ja weiter alles lokal in der Übersetzungseinheit definiert sein, in Reihenfolge und mit den passenden Linkages. Und wenn Du den Scheiß global hinterlegst, regen sich nachher wieder paar Puristen auf, die in ihrer Exe nen Haufen globale Objekte von Meta-Infos finden, die die Exe um 300 Byte größer machen.
Von daher: ich traue mich nicht mehr, mich darüber abfällig zu äußern.
Re: C++26 mit Reflections
Verfasst: 28.09.2024, 14:40
von Krishty
Schrompf hat geschrieben: ↑28.09.2024, 14:28Und wenn Du den Scheiß global hinterlegst, regen sich nachher wieder paar Puristen auf, die in ihrer Exe nen Haufen globale Objekte von Meta-Infos finden, die die Exe um 300 Byte größer machen.
Stimmt. Ich fand es schon ziemlich beschissen, als C++11 eingeführt hat, dass lokale
static-Variablen thread-safe initialisiert werden müssen – du benutzt kein Multi-Threading und trotzdem ist dein Code mit Critical Sections verpestet. Kackscheiß. Das gleiche mit Exceptions, wo der Speicherhunger ja sogar jahrelange Forschung des Visual-C++-Teams zu besserer Kompression der Tabellen bewirkt hat.