【问题标题】:Assign another name/alias for std::vector为 std::vector 分配另一个名称/别名
【发布时间】:2022-01-10 03:59:53
【问题描述】:

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

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

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

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

我的代码中可能有MyVector,本质上是std::vector,所以我只想将std::vectorMyVector 相等,这样我就不必将所有MyVector 更改为std::vector

【问题讨论】:

    标签: c++ vector typedef


    【解决方案1】:

    你想要的是alias template,像这样:

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

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

    MyVector<float> vec = stuff;
    

    vec 将是 std::vector&lt;float&gt;

    【讨论】:

      猜你喜欢
      • 2014-12-12
      • 2019-11-07
      • 1970-01-01
      • 2021-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-15
      • 1970-01-01
      相关资源
      最近更新 更多