有时候我们需要typedef 一种模板
但是c++并没有直接的解决方案
也就是这样是不可行的.
typedef std::vector<T> myvector<T>;
间接的解决方式是:
(该代码源于盖莫游戏引擎代码)
1 #include <loki/flex/flex_string.h>
2 typedef flex_string<char> engine_string;
3 #include <loki/yasli/yasli_vector.h>
4 template<class T>
5 struct vector_typedef
6 {
7 typedef yasli::vector<T,std::allocator<T> > type;
8 };
9 template<class T>
10 struct list_typedef
11 {
12 typedef yasli::vector<T,std::allocator<T> > type;
13 };
使用的时候是这样的
list_typedef<int>::type v;
list_typedef<Vector3f>::typedef veclist;
...