Type Erasure

Learn the type erasure pattern to utilize common functionalities from unrelated types.

The term type erasure describes a pattern in which type information is removed, allowing types that are not necessarily related to be treated in a generic way. This isn’t something specific to the C++ language. This concept exists in other languages with better support than in C++ (such as Python and Java). There are different forms of type erasure, such as polymorphism and using void pointers (a legacy of the C language, which is to be avoided), but true type erasure is achieved with templates. Before we discuss this, let’s briefly look at the others.

Get hands-on with 1200+ tech skills courses.