2011-12-04 12 views
5

是否有一些g ++選項可顯示從模板創建的類別?例如,有在原來的源代碼模板定義:g ++選項可顯示從模板創建的類別

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

SomeStruct<int> instance; 

,我希望看到實現SomeStruct <爲int>。

回答

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

執行過程與看起來一樣明顯:您將實際類型輸入爲T

struct SomeStruct<int> { int variable; }; 
+0

如果模板是專門爲INT? –