2014-09-06 32 views
0

C++我定义了一个模板类。C++我定义了一个模板类。我可以看到实例化后出现的(源代码)吗?

我希望看到类实例化时产生的源代码。例如,假设我有一个像std::vector一类从标准库:

template <typename T> 
class Vector { ... } // this is in the .h and .inl 

然后我初始化它

vector<int> v = new vector<int>(); 

我能看到联的代码,编译器会创建?

+0

编译器不实际创建的文本形式的源代码每个模板实例 - 所以不,你不能看到它。模板不是宏。 – 2014-09-06 19:27:58

+0

没有源代码,模板实例化不是“纯文本”步骤 – 2014-09-06 19:28:00

+0

class Vector C++是一种区分大小写的语言! – 2014-09-06 19:39:53

回答

0

没有源代码,模板实例化不是文本替换步骤。要检查生成的代码,您应该使用反汇编程序/调试程序或转储(如果编译器支持它)生成的代码。模板实例化是一个编译步骤,虽然它可能非常复杂,但它会生成代码而不是文本。

宏经历类似于你所描述的过程:他们在预处理阶段处理,他们只是简单的文本替换

相关问题