|
|
|
|
|
by strictfp
1461 days ago
|
|
Sure. I guess template-based polymorphism is alright for code dispatch. But if you want to store the different types of objects involved you have limited choices. There's no straight-forward support for sum types. std::variant is fairly new, has a cumbersome API, and is quite slow (ballpark the same as virtual calls). There's no support for methods on enums nor anything for customizing the fields of different enum constants. There's also no pattern matching or other really convenient way of deconstructing variants. So while it's there, I would say that the oo virtual method style is much better supported, although storage for those usually requires some type heap allocation. |
|