C ++我定义了一个模板化的类。
我希望看到在实例化类时产生的源代码。例如,假设我有一个来自标准库的类std::vector
:
template <typename T>
class Vector { ... } // this is in the .h and .inl
然后我实例化它
vector<int> v = new vector<int>();
我可以看到编译器将创建的内联代码吗?
答案 0 :(得分:0)
没有源代码,模板实例化不是文本替换步骤。要检查生成的代码,您应该使用反汇编程序/调试程序或转储(如果编译器支持它)生成的代码。模板实例化是一个编译步骤,虽然它可能变得相当复杂,但它会生成代码而不是文本。
宏经历了与您描述的类似的过程:它们在预处理阶段处理,它们只是纯文本替换