Microsoft Foundation Class Library (MFC) may be a C++ object-oriented library for developing desktop applications for Windows. MFC was introduced by Microsoft in 1992 and quickly gained widespread use. While Microsoft has introduced alternative application frameworks since then, MFC remains widely used. MFC may be a library that wraps portions of the Windows API in C++ classes, including functionality that permits them to use a default application framework. Classes are defined for several of the handle-managed Windows objects and also for predefined windows and customary controls. At the time of its introduction, MFC provided C++ macros for Windows message-handling (via Message Maps), exceptions, run-time type identification (RTTI), serialization and dynamic class instantiation. The macros for message-handling aimed to scale back memory consumption by avoiding gratuitous virtual table use and also to supply a more concrete structure for various Visual C++-supplied tools to edit and manipulate code without parsing the complete language. The message-handling macros replaced the virtual function mechanism provided by C++.