c++11 - 我可以使用 using 关键字对模板进行部分专门化吗?

标签 c++11 templates using

代码中OpenCV图书馆我发现这个:

template<typename _Tp, int cn> class Vec
{
  ...
}

typedef Vec<int, 2> Vec2i;
typedef Vec<int, 3> Vec3i;
typedef Vec<float, 2> Vec2f;
typedef Vec<float, 3> Vec3f;

我想要一个 float 类型和可变长度 NVec。可以这样写吗

using Vecf<N> = Vec<float, N>;

最佳答案

是的,你就快到了。 正确的语法是

template<int N>
using Vecf = Vec<float, N>;

关于c++11 - 我可以使用 using 关键字对模板进行部分专门化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59838078/

相关文章:

c++ - 通用堆栈类的异常安全代码

c++11 - 关于在 C++11 中初始化向量

c++ - 范围解析运算符后的模板参数未被替换

c++ - 如何处理 const T& 和 T&& 实例化到相同的签名?

c++ - 使用指针/对象/模板参数更正常量

c++ - 用原始类型替换模板类

c# - 'using' 有什么优势吗?

C++11 - 从函数传递向量作为迭代器

c++ - 使用 -std=c++11 后未在此范围内声明“stoi”

c++ - 调用基类构造函数的 "Using"关键字