为 std::vector 分配另一个 name/alias

Assign another name/alias for std::vector

我想给 std::vector 一个不同的名字,比如 MyVector,所以我遵循了 typedef

typedef std::vector<float> MyVector<float>;

但是,visual studio 在 MyVector 上抱怨“MyVector 不是模板”

如何分配 std::vector 另一个名称?

我的代码中可能 MyVector 本质上是 std::vector,所以我只想使 std::vector 等于 MyVector,这样我就不必更改所有 MyVector 变成 std::vector.

你要的是一个alias template,像这样:

template <typename T>
using MyVector = std::vector<T>;

这将允许您像这样使用它:

MyVector<float> vec = stuff;

其中 vec 将是 std::vector<float>