specialization相关内容
我的代码遵循以下一般设计: protocol DispatchType {}类 DispatchType1:DispatchType {}类 DispatchType2:DispatchType {}func doBar(value:D) {print("调用的通用函数")}func doBar(value:DispatchType1) {print("DispatchType1 调用")}fu
..
我编写了一个 traits 类,它让我可以在 C++0x(用 gcc 4.5.0 测试)中提取有关函数或函数对象的参数和类型的信息.一般情况处理函数对象: template struct function_traits {模板 结构_内部{};模板 struct_internal
..
我有一个类似于下面代码的基类.我试图重载 在
..
A 类{};模板B级{上市:静态 int a[S];乙(){[0] = 0;}};模板int B::a[1];int main(){Bt;t;} 它在 GCC 4.1 下编译,但不链接: static.cpp:(.text._ZN1BI1ALi1EEC1Ev[B::B()]+0x5): 未定义的对`B::a
..
我想让这个专门的不改变主.是否可以根据其基类专门化某些东西?我希望如此. -编辑- 我将有几个继承自 SomeTag 的类.我不想为他们每个人编写相同的专业. class SomeTag {};类 InheritSomeTag : public SomeTag {};模板结构体{};模板struct MyClass{typedef int isSpecializ
..
请向我解释为什么下面的代码能够完美运行.我很困惑. #include模板班级基地{};模板class Base {上市:根据(){std::cout
..
始终考虑到包含我的模板化类的以下头文件至少包含在两个 .CPP 文件中,此代码编译正确: template T类{上市:void doSomething(std::vector * v);};模板void TClass::doSomething(std::vector * v) {//用一个泛型 T 的向量做一些事情}模板 内联 void TClass::doSomething(std::v
..
我正在尝试根据类模板参数确定调用哪个版本的成员函数.我试过这个: #include #include 模板结构点{void MyFunction(typename std::enable_if::value, T >::type* = 0){std::cout
..
我是模板的新手,所以也许这是一件微不足道的事情,但我无法让它工作.我正在尝试获得类成员函数的部分专业化.最短的代码是: template 类对象{私人的:tm_t;目的();上市:对象(T t):m_t(t){}T Get() { 返回 m_t;}对象&变形(){m_t*=nValue;返回 *this;}};模板 对象&对象::变形(){这-> m_t = -1;返回 *this;}
..
我需要为某种类型专门化模板成员函数(比如double).虽然 X 类本身不是模板类,但它工作正常,但是当我将其设为模板时,GCC 开始给出编译时错误. #include #include 模板X级{上市:模板void get_as();};模板void X::get_as(){}int main(){XX;x.get_as();} 这里是错误信息 source.
..
是否可以像这样专门化 std::allocator_traits 模板? 命名空间 falloc_ {模板类 FAllocator ;}//所有 falloc_::FAllocator, std::allocator_traits 的部分规范模板struct std::allocator_traits>{使用 allocator_type =
..
如果我有一个模板类 templateC类{民众:void method1() { ... }void method2() { ... }std::string method3(T &t) {//...std::string s = t.SerializeToString();//...返回 s;}//...}; 并且我想将它专门用于 T = std::string 但只更改 method3(T
..
我正在使用模板和部分专业化,但有一个专业化我不知道如何编写...我将简化代码以使其更易于阅读. 让我们考虑一下 template x级{...}; 通常,我可以这样专攻: class x{...}; 也适用于模板类型: template 类 x>{...} 现在我想对嵌套在模板类中的类型进行特化: template y级{结构嵌套类型{y a_member;};...};//特
..
说我有: 模板 A类{void doTheStuff (T const * t);};模板B级{//一些东西...}; 我想专门为 ClassB 模板的所有实例使用 doTheStuff 方法,如下所示: template void ClassA 当然,这行不通.遗憾的是我不知道我怎么能做到这一点. 使用 Visual Studio 的编译器,我得到: 错误 C
..
为什么这段 Scala 代码无法进行类型检查? trait T { type A }trait GenFoo[A0, S 我不明白为什么“类型参数 [S#A,S] 不符合 trait GenFoo 的类型参数边界 [A0,S
..
专业化承诺为原始类型提供高效的实现用最少的额外样板.但是专业化似乎过于渴望自己的好处.如果我想专门化一个类或方法, def foo[@specialized(Byte) A](a: A): String = ???类 Bar[@specialized(Int) B] {var b: B = ???def baz:B = ???} 然后我需要编写一个涵盖特殊和通用情况的实现.如果这些情况真的彼此
..
我试图专门化一个特征,但由于“实现冲突"而无法编译.但我对专业化的理解是,更具体的实现应该覆盖更通用的实现.这是一个非常基本的例子: mod 潜水 {酒吧结构 Diver{内部:T}}模式游泳{使用潜水;酒吧特质游泳者{fn 游泳(&self){println!("游泳")}}实施潜水游泳运动员::Diver;{}}模式溺水{使用潜水;使用游泳;impl 游泳::潜水的游泳者::潜水
..
我想专门化/子类化请求包以添加一些具有自定义功能的方法. 我尝试这样做: #crete_requests.py进口请求类具体请求(请求):def __init__(self):super(concreteRequests, self).__init__()self.session()定义登录(自己):有效载荷 = {'user': 'foo', 'pass': 'bar'}self.get
..
我正在尝试创建专门用于某些给定类型的全局函数模板.看起来像这样: A.h (主要模板,模板专业化,外部) template void foo() { std::cout void foo() { std::cout
..
我的模板出现语法错误 我想对模板类的静态函数进行部分专业化处理 class.hpp template class MyClass { MyClass(); static void function(); }; #include "class.tpp" class.tpp template
..