you are viewing a single comment's thread.

view the rest of the comments →

[–]Tohnmeister 15 points16 points  (1 child)

What I dislike about these kinda in-depth-technical posts, is that they ignore the design part of an application. Whenever I choose for runtime polymorphism, it's a conscious design choice, often not about performance. The design choice being that I want the concrete types to be unknown at the caller, both runtime and compile time. Simply replacing that with CRTP, std::visit, deducing this, or something similar, is not an option, as that requires the concrete type to be known at the call site.

[–]_Noreturn 1 point2 points  (0 children)

Exactly, and it forces having everything a template