一般来说,我们可以做到
typedef std::vector<int> container1;
typedef std::vector<char> container2;
但看起来我们不能做类似的事情。
typedef vector container;
container<int> ins;
反正有没有实现这个目标?我能想到的是使用宏。
答案 0 :(得分:9)
#include <vector>
template<class T>
using Vec = std::vector<T>;
Vec<int> v; // same as std::vector<int> v;
以类似的方式,您可以在C ++ 11中重写typedef,如:
using container1 = std::vector<int>;
using container2 = std::vector<char>;
这些与你问题中的typedef完全相同。