2011-12-04 6 views
5

क्या कोई g ++ विकल्प है जो दिखाता है कि टेम्पलेट्स से कौन से वर्ग बनाए जाते हैं? उदाहरण के लिए वहाँ मूल स्रोत कोड में टेम्पलेट परिभाषा है:g ++ विकल्प यह दिखाने के लिए कि टेम्पलेट्स से कौन से वर्ग बनाए गए हैं

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

SomeStruct<int> instance; 

और> मैं SomeStruct < पूर्णांक के कार्यान्वयन देखना चाहेंगे।

उत्तर

4

आप -fdump-class-hierarchy ध्वज के साथ यह जानकारी प्राप्त कर सकते हैं। यह आपके लिए पूछे जाने से कहीं अधिक सूचीबद्ध होगा, लेकिन अगर Class से शुरू होने वाली लाइनों की खोज करें, तो आप जो खोज रहे हैं उसे आप पाएंगे।

EDIT: यहां एक प्रोग्राम से कुछ आउटपुट है जिसमें iostream शामिल है।

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

और अगर टेम्पलेट पूर्णांक के लिए विशेष है: आप char और wchar_t की instantiations हैं देख सकते हैं? –

संबंधित मुद्दे