C++ 它本身就是一个模板的专门化
我有一个模板类,对此我有一些专门知识。C++ 它本身就是一个模板的专门化,c++,templates,template-specialization,template-meta-programming,C++,Templates,Template Specialization,Template Meta Programming,我有一个模板类,对此我有一些专门知识。 但下一个专门化是模板本身。您如何指定此项: template<typename T> class Action { public: void doStuff() { std::cout << "Generic\n"; } } // A specialization for a person template<> class Action<Person> { public: void doS
但下一个专门化是模板本身。您如何指定此项:
template<typename T>
class Action
{
public: void doStuff() { std::cout << "Generic\n"; }
}
// A specialization for a person
template<>
class Action<Person>
{
public: void doStuff() { std::cout << "A Person\n";}
}
// I can easily specialize for vectors of a particular type.
// But how do I change the following so that it works with all types of vector.
// Not just `int`
template<>
class Action<std::vector<int> >
{
public: void doStuff() { std::cout << "A Generic Vector\n";}
}
模板
集体诉讼
{
public:void doStuff(){std::cout琐碎的部分专门化
template <typename T>
class Action<std::vector<T>> {
public:
void doStuff() { std::cout << "A Generic Vector\n"; }
};
模板
集体诉讼{
公众:
void doStuff(){std::cout+1。有时(经常?)显而易见的答案是正确的答案:)@ereOn:真正的问题是-->为什么我会得到这么多选票支持这样一个微不足道的答案:x?我想人们只是喜欢简单:)我只是想知道你不知道这一点!@Nawaz:我的想法也是如此,也许是深夜?现在我看到答案很明显,但我一直在t中添加另一个模板行继承人。可能的副本