- 论坛徽章:
- 36
|
本帖最后由 cokeboL 于 2015-04-12 14:42 编辑
- #include <iostream>
- #include <stdio.h>
- #include <map>
- #include <string>
- #define TEST_TYPE_COUNT 1
- #if TEST_TYPE_COUNT
- static std::map<std::string, bool> typeMap;
- template<class T>
- class Base
- {
- public:
- Base()
- {
- typeMap[typeid(T).name()] = true;
- //std::cout << typeid(T).name() << std::endl;
- }
- private:
- static T _instance; //static Base _instance; static Base<T> _instance;
- };
- #endif
- template<class T>
- #if TEST_TYPE_COUNT
- class Hello: public Base<T>
- #else
- class Hello:
- #endif
- {
- };
- int main()
- {
- Hello<int> hi;
- Hello<std::string> hs;
- #if TEST_TYPE_COUNT
- std::cout << "T count: " << typeMap.size() << std::endl;
- #endif
- return 0;
- }
复制代码 |
|