元编程即通过程序(也可以是特定语法和编译器),生成程序,主要是运行期动态生成。
反射,即程序可以动态的修改自身的状态,可以通过反射生成程序,例如通过反射注册新的函数,因此可以通过反射来实现元编程。通过反射可以实现序列化、反序列化