We have a templated type Foo<T>
.
In the codebase, it's 99% instantiated with a couple of types, and I would like to use a distinct name for those cases.
What are the pros/cons of the using
keyword (using FooA = Foo<A>
) vs declaring an empty derived class (class FooA : public Foo<A> {};
)
It seems that the derived class is smoother to use (allow forward declaration), but I wonder about any performance (speed or memory) cost.