News for hackers. Stuff that matters.
Re:“Clean” Code, Horrible Performance by int_19h on Tuesday February 28, 2023 @07:23PM (#34976987)
Even when the target is an app, said app might be loading DLLs at runtime which may contain other subclasses.

The fundamental problem here is that C++ doesn't have a good abstraction to represent visibility of public types, since any other translation unit - even across the DLL boundary! - can re-declare the type and then derive from it. The only way to constrain visibility is to use anonymous namespaces, and that only works if the type can be confined to a single unit (that C++ compilers seem to ignore the optimization opportunities here in practice perhaps indicates just how rare this actually is).

There are no comments on this comment yet.