15得票6回答
为多个类提供一个模板特化

假设我们有一个名为“foo”的模板函数: template<class T> void foo(T arg) { ... } 我可以为某些特定类型进行专业化,例如: template<> void foo(int arg) { ... } 如果我想要将相同的...

9得票1回答
当模板参数值相等时,模板特化

我有一个形式为的函数 template<int a, int b> void f(); 当a == b时,我希望进行特定的专业化。伪代码大致如下: template<int a> void f<a, a>(){ //something} templ...

10得票6回答
实例化后模板的特化?

我的完整代码太长了,但这里有一个代码片段可以反映出我的问题的实质:class BPCFGParser { public: ... ... class Edge { ... ... }; class ActiveEquivClass { ....

26得票5回答
基于继承类的模板特化

我希望在不改变主代码的情况下使其专业化。基于其基类,是否可能对某些内容进行专门化处理?我希望如此。 -编辑- 我将有几个类继承自SomeTag。我不想为每个类编写相同的专门化处理。 class SomeTag {}; class InheritSomeTag : public SomeT...

7得票3回答
C++ 中基于类型的模板化函数

我想编写一个函数,可以安全地访问std::map。 在我的代码中的很多地方,我想通过键访问std::map,但是如果键不存在,我想要一种默认值而不是异常(这需要编写很多代码来处理“无用”的情况)。 我编写了这个基于模板的函数: template <typename T1, type...

41得票3回答
C++ 模板部分特化成员函数

我是一个新手,对模板不太熟悉,所以这可能是一个微不足道的事情,但我无法让它工作。我正在尝试获取类成员函数的部分特化。最短的代码如下: template <typename T, int nValue> class Object{ private: T m_t; O...

10得票1回答
无法将可特化的特质作为返回类型专门化Scala方法

trait Eq[@specialized -X] { def eq(x: X, y: X): Boolean } trait Keyed[@specialized(Int) X] { def eqOnKey: Eq[X] } eqOnKey方法在生成的Keyed$mcI$sp类中未...

8得票3回答
双模板方法的部分特化失败

这里有一个名为List的模板类。 template <typename Point> class List { public: template <const unsigned short N> void load ...

13得票3回答
为引用类型专门化的函数模板

为什么这段代码的输出结果是: #include <iostream> template<typename T> void f(T param) { std::cout << "General" << std::endl ; } ...

19得票3回答
专门化模板类的静态成员初始化

class A { }; template <typename A, int S> class B { public: static int a[S]; B() { a[0] = 0; ...