The data types we used in the previous lessons for our variables were directly recognized by the C++ compiler. For this reason they are referred to as built-in types. Those data types are convenient in most scenarios. Sometimes you will need to expand on these types. The C++ language provides you great flexibility on re-defining these existing types or re-defining new ones. Learn: The Type Definition, Constant Values, Macro Definition of a Constant, User-Defined Constants, Built-In Constants and more.