Traits
Generic programming means writing code that works with any data type under certain requirements. It is the most efficient way of delivering reusable high-quality code in the software engineering industry. However, there are times in generic programming when being generic just isn’t good enough. Whenever the differences between types are too complex, it is very hard for an efficient generic to optimize a common implementation. For example, while implementing a sort function template, if we know the argument type is a linked list but not an array, a different strategy will be implemented to optimize the performance.
Although template specialization is one approach to overcoming this problem, it doesn’t provide type-related information in a broad way. A type trait is a technique that’s used to collect information about the type. With its help, we can make more intelligent decisions to develop high-quality optimized algorithms in generic programming.
In...