pImpl Idom noch zeitgemäß?



  • volkard schrieb:

    pumuckl schrieb:

    Zum Rohspeicher-Hack hat der GotW auch was geschrieben:
    http://www.gotw.ca/gotw/028.htm

    Damals gab es noch kein C++11: bei 1. hat er also inzwischen unrecht. http://en.cppreference.com/w/cpp/types/aligned_storage
    Die anderen Gründe sind schwach; man muß den RohspeicherhackInPlace-Pimpl ja nicht gerade ganz so roh aufführen.

    Genau.
    Alignment ist kein Thema mehr.
    Das suboptimale Runtime-Assert (sizeof etc.) kann man mittlerweile durch ein static_assert ersetzen.
    Das "passt mal auf auf operator =" ist grundsätzlich richtig, trifft aber genau so auf normales PIMPeLn zu.

    Und... wenn ich wo "custom allocator" lese... pfuh.
    Naja, gibt manchmal Fälle wo es wirklich Sinn macht/OK ist.
    z.B. wenn ich davon ausgehen muss dass mein normaler Allocator thread-safe und auf "wenig Speicherverbrauch" optimiert ist. Wenn ich dann nen Custom-Allocator schreibe der nicht Thread-Safe ist, und nicht auf "wenig Speicherverbraucht" optimiert ist, dann kann das schon was bringen.
    Im speziellen also ja, kann Sinn machen.
    Im Allgemeinen halte ich Special-Case Allokatoren aber für ... Unfug.


Anmelden zum Antworten