g ++选项,用于显示从模板创建的类

时间:2011-12-04 16:07:02

标签: c++ g++

是否有一些g ++选项显示从模板创建的类?例如,原始源代码中有模板定义:

template <class T>
struct SomeStruct { T variable; };

SomeStruct<int> instance;

我希望看到SomeStruct的实现&lt; INT&GT;

2 个答案:

答案 0 :(得分:4)

您可以使用-fdump-class-hierarchy标记获取该信息。它会列出比您要求的更多的内容,但如果搜索以Class开头的行,您将找到您要查找的内容。

编辑:以下是包含iostream的程序的一些输出。您可以看到charwchar_t的实例化:

Class std::basic_ostream<char, std::char_traits<char> >
Class std::basic_ostream<char, std::char_traits<char> >::sentry
Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >
Class std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::sentry
Class std::basic_istream<char, std::char_traits<char> >
Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >
Class std::basic_istream<char, std::char_traits<char> >::sentry
Class std::basic_iostream<char, std::char_traits<char> >
Class std::basic_istream<wchar_t, std::char_traits<wchar_t> >::sentry
Class std::basic_iostream<wchar_t, std::char_traits<wchar_t> >

答案 1 :(得分:-1)

实现就像看起来一样明显:你将实际类型放入T

struct SomeStruct<int> { int variable; };