问题标签 [specialization]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 基于整数类型的“有符号”的部分模板专业化?
鉴于:
与unsigned
类型一起使用时会产生警告:
n >= 0
有没有什么聪明的方法不做类型的T
比较unsigned
?我尝试添加部分模板专业化:
但 gcc 4.2.1 不喜欢这样。(无论如何,我不认为这种部分模板专业化是合法的。)
c++ - 如何以不同的方式专门化 typedef 及其隐式类型?
我有这样的事情:
我真的不需要专门研究 int,我真正需要的是为 AnotherType 执行不同的函数。而且我无法更改 AnotherType 或基本函数的定义。
由于 SFINAE,重载也无济于事。
c++ - 嵌套在非特化类中的成员类的特化
我怎样才能以同样的方式专注于 B,但在 A 之外。我尝试了这个但没有成功:
我得到:
error C3212: 'A<T>::B<int>' : an explicit specialization of a template member must be a member of an explicit specialization
这是没有意义的,因为我可以通过在类中定义它来做到这一点
VS2010的问题?语法错误?
谢谢
PS:这个(无论如何应该是错误的,崩溃VS2010):
c++ - 双模板方法的部分特化失败
有模板类List。
如何专门化 N=2 的方法负载?此代码无效...
而且这段代码也不起作用。
编译器 g++:
c++ - 模板 << 和 >> 运算符特化
我想在一个类中对>>
and<<
运算符进行模板化,但我也想将它们专门用于字符串,所以我这样做了;
但我得到了一些编译器错误:
我将如何解决这些错误?
c++ - 特定模板特化的重载成员函数
我有一个类 tPoint 将实现具有不同的基本类型,所以
当类型 T 是 int, 时tPoint<int>
,我想要一个特殊的 Set(float, float) 以便在分配之前对值进行四舍五入。
我认为通过专业化我可以:
这样编译器就会抱怨类定义中没有匹配的函数。
但是如果我在类 Set(float,float) 中声明,那么它说已经定义了(当它编译为 T =float 时)
我希望我说清楚了,什么是干净的方法,或者我做错了什么?谢谢!
c# - 如何在 C# 中实现某种程度的多态性?
这是我最近试图解决的问题的简化版本。我有以下两个课程:
现在我想做:
实现此功能的最佳方法是什么?有可能吗?我想我可能已经解决了这个问题,但我认为这是一种解决方法,我正在寻找一些设计模式。
提前感谢您的回复,米哈尔。
附言
我尝试了接口、虚函数、抽象类、抽象函数;甚至在超类中创建函数,通过名称调用真实类型的属性(使用反射)......我仍然无法实现我想要的......
c++ - 在具有部分特化的 C++ 中使用模板展开循环
我正在尝试使用模板在 C++ 中展开循环,如下所示。
当我在 Cygwin 中编译 w/g++ 3.4.4 时,出现以下错误。
tmp.cpp:12:错误:类型
T' of template argument
0' 取决于模板参数
我究竟做错了什么?我是否需要以某种方式注释 0 以说明它是 T 类型?
提前致谢。
c++ - 非具体类型的 C++ 模板特化(另一个模板类!)
我正在移植一些代码以在某些地方使用智能指针,并且遇到了专业化问题。在具体类型上专门化模板函数非常简单,但是如果我想在另一个模板化类(在我的例子中是 std::auto_ptr)上专门化特定方法怎么办?我似乎找不到正确的魔法词来让我的编译器不哭。
这是一个代码示例:
当类型为 std::auto_ptr 时,我正在尝试覆盖 tSomeContainer::getInterfacePtr() 方法,但我就是做不到
c++ - 模板类成员函数的显式特化
我需要为某种类型专门化模板成员函数(比如说double)。当类X
本身不是模板类时,它可以正常工作,但是当我制作模板时,GCC 开始给出编译时错误。
这是错误消息
我该如何解决这个问题,这里有什么问题?
提前致谢。