Metaprogramming. Creation of programs which in their turn create other programs as the result of their work, or change or amend themselves during execution. An example of metaprogramming: a C++ program generates SQL script to save data into a relational database. We can speak of two types of metaprogramming: metaprogramming on the stage of compilation (code generation) and metaprogramming on the stage of execution (code self-modification).
0