可用于vector的一般类型定义

Can typedef used for vector in general?

本文关键字:类型 定义 用于 vector      更新时间:2023-10-16

一般来说,我们可以做

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;

也见this

以类似的方式,您可以在c++ 11中重写类型定义,如下:

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

这些与你问题中的类型完全相同