为 std::vector 指定另一个名称/别名

Nic*_*sui 2 c++ typedef vector

我试图给出std::vector一个不同的名称,例如MyVector,所以我遵循了 typedef

typedef std::vector<float> MyVector<float>;
Run Code Online (Sandbox Code Playgroud)

然而,Visual Studio 抱怨MyVector“MyVector 不是模板”

如何指定std::vector另一个名称?

我的代码中有 may ,MyVector本质上是std::vector,所以我只想等于 ,std::vector所以MyVector我不必将所有更改MyVectorstd::vector

Nat*_*ica 5

你想要的是一个别名模板,如下所示:

template <typename T>
using MyVector = std::vector<T>;
Run Code Online (Sandbox Code Playgroud)

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

MyVector<float> vec = stuff;
Run Code Online (Sandbox Code Playgroud)

哪里vec会有一个std::vector<float>.