一般用于矢量的typedef可以吗?

一般来说,我们可以做到

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

但看起来我们不能这样做。

typedef vector container;
container<int> ins;

无论如何要实现这一目标? 我能想到的是使用宏。


C ++ 11别名允许这样做:

#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完全相同。

链接地址: http://www.djcxy.com/p/78659.html

上一篇: Can typedef used for vector in general?

下一篇: Why are typedef templates illegal?