一般来说,typedef可以用于矢量吗?

时间:2013-06-15 03:08:55

标签: c++ typedef

一般来说,我们可以做到

typedef std::vector<int> container1;
typedef std::vector<char> container2;

但看起来我们不能做类似的事情。

typedef vector container;
container<int> ins;

反正有没有实现这个目标?我能想到的是使用宏。

1 个答案:

答案 0 :(得分:9)

C++11 aliases allows this

#include <vector>

template<class T>
using Vec = std::vector<T>;   
Vec<int> v;   // same as std::vector<int> v;

also see this

以类似的方式,您可以在C ++ 11中重写typedef,如:

using container1 = std::vector<int>;
using container2 = std::vector<char>;

这些与你问题中的typedef完全相同。