c++ - 如何专门化 vector 类模板?

标签 c++ templates vector specialization

我对模板参数的语法有点困惑... 我如何专门化此模板:

template <typename T> class MyTemplate{
    public: 
        void doSomething(T){}
};

对于 std::vectors,即我会写类似的东西

template <std::vector<typename T> > class MyTemplate{
    public:
        void doSomethingElse(std::vector<T>){}
};

根据模板参数是任意类型 T 还是 vector ,使类表现不同。

最佳答案

像这样:

template <typename T>
class MyTemplate<std::vector<T> > {
    ...
};

关于c++ - 如何专门化 vector 类模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26929833/

相关文章:

c++ - 如何销毁在堆上创建的 STL 队列?

c++ - 绕过自动生成的赋值运算符(VS bug?)

c++ - 为什么 vector 在元素数量少时优于列表?

arrays - 自动将 Vec 转换为数组

c++ - inotify 的非阻塞选择

c++ - 自动变量的值初始化

c++ - 为什么可以 move 不可变的 lambda 捕获?

c++ - 以成员函数指针为参数的可变参数模板

c++ - 源文件中成员函数模板的显式特化

c++ - move 的 vector 总是空的吗?