Neues C++ Tool: Header Hero



  • 314159265358979 schrieb:

    Genau dafür ist das typedef in der WINAPI doch da - dass man _nicht_ void* typedeft.

    Du hängst dich gerade an Belanglosigkeiten auf.
    ob man jetzt HANDLE oder void* schreibt ist ziemlich egal.

    volkard hat das in dem Code gemacht um den windows Header nicht überall einbinden zu müssen.



  • Shade Of Mine schrieb:

    314159265358979 schrieb:

    Und wenn sich das typedef für HANDLE ändert, musst du deines auch ändern?

    Ich verstehe die Frage nicht.

    Wieso sollte sich was bei HANDLE ändern? Aber klar, wenn man statt HANDLE jetzt HUHN verwenden muss, muss man das natürlich im Code anpassen. Aber das muss man immer - egal welches Design man verwendet.

    Nur hier muss man es nur an einer zentralen Stelle.

    Klar, nur wenn HANDLE nicht mehr void* sondern HUHN ist, dann wird es ohne Pimpl schwierig werden, die HUHN Definition, und damit die <windows.h>, aus dem Header herauszuhalten.



  • Tachyon schrieb:

    Klar, nur wenn HANDLE nicht mehr void* sondern HUHN ist, dann wird es ohne Pimpl schwierig werden, die HUHN Definition, und damit die <windows.h>, aus dem Header herauszuhalten.

    Falls das jemals passiert, kann man sich dann immernoch Gedanken machen. Es ist nicht so, daß Gefahr bestünde, Lösungen seien schwierig zu finden und würden uns tagelang aufhalten.



  • Tachyon schrieb:

    Klar, nur wenn HANDLE nicht mehr void* sondern HUHN ist, dann wird es ohne Pimpl schwierig werden, die HUHN Definition, und damit die <windows.h>, aus dem Header herauszuhalten.

    Da muss man aber ganz schön viel im Voraus pimpern, äh pimpl einsetzen, nur damit man so eine potentielle Situation dann lösen kann. Rechtfertigt den Stress imo nicht.



  • Was mit HANDLEs arbeitet kann man IMO gut und gerne pimpeln, da es sowieso schon langsam ist (Kernel-Call).
    Ob es Sinn macht oder nicht ist natürlich von Fall zu Fall neu zu beurteilen.



  • Pimpl wurde nur erfunden, um zu zeigen, wie schlecht C++ eigentlich ist und was man alles für Hacks braucht. Genau wie die Verrenkungen bei vielen anderen Idiomen wie z.B. Safe-Bool.



  • Schimpler schrieb:

    Pimpl wurde nur erfunden, um zu zeigen, wie schlecht C++ eigentlich ist und was man alles für Hacks braucht. Genau wie die Verrenkungen bei vielen anderen Idiomen wie z.B. Safe-Bool.

    So kannst Du auch argumentieren, daß die Englische Küche nur erfunden wurde, um zu zeigen, wie schlecht Kochen sei.
    Tatsache ist, daß es gute Englische Gerichte gibt und gute Anwendungen von Pimpl. Und beide möchte ich nicht missen. Trotzdem machen mir die Englische Küche und Pimpl generell Angst. Muß ich nicht haben. Gänsehaut. Ich lehne sie oberflächlich generell ab, aber im Speziellen kann es ganz anders sein.
    Übrigens ist das Hampeln mit Handeln auch nur ein Pimpeln, nein, Himpeln. Klares doppelplusgut in dieser Verwendung.



  • Header Hero ist echt ein nützliches Tool!

    Pimpl benutze ich ab und zu. Oft durch selbstgebastelte Smart-Pointer, damit man auf die Grossen Drei und sonstigen Boilerplatekram verzichten kann. An vielen Stellen spielt die extra Indirektion keine Performancerolle, aber die kürzere Kompilierzeit ist praktisch. Bei Templates kann man halt nicht viel machen...



  • volkard schrieb:

    Schimpler schrieb:

    Pimpl wurde nur erfunden, um zu zeigen, wie schlecht C++ eigentlich ist und was man alles für Hacks braucht. Genau wie die Verrenkungen bei vielen anderen Idiomen wie z.B. Safe-Bool.

    So kannst Du auch argumentieren, daß die Englische Küche nur erfunden wurde, um zu zeigen, wie schlecht Kochen sei.

    C++ ist also die Englische Küche unter den Programmiersprachen. 😃



  • Nein, Pimpl ist das die englische Küche unter C++ Idiomen (laut volkard).


Anmelden zum Antworten