Polymorphic Types

To allow building 32-bit and 64-bit targets from a single source stream, both Microsoft and Autodesk provide polymorphic types. The term polymorphic means "many forms". Polymorphic types are typedefs and macros that can change definitions in different builds. Typically the compiled type is determined by the value of a preprocessor definition or project setting.

For example, the TCHAR typedef is a polymorphic type that is char in an MBCS build and wchar_t in a UNICODE build.