问题标签 [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++ - 模棱两可的部分模板特化
我有一个特质类,我需要多次专门化(和部分专门化)。
一些部分专业重叠:
我应该如何使用工作代码获得相同的结果?
enable_if
我对and发疯了is_same
,我什至不再确定这是正确的方法......
c++ - Operator() 的部分特化
我的一个类声明了一个模板函数:
我想部分专注于typename A
. B
是一个实现了一个非常小的接口的类型家族,我们使用了很多,所以我希望我的专长是通用的B
。我怀疑这是双重烦恼,因为typename A
它仅用作返回类型。
从互联网上,我了解到我不能部分专门化一个函数,所以我创建了一个类,如下所示:
当我尝试编译它(使用 Visual Studio 2008)时,编译器崩溃(!)并且我收到以下错误:
我认为这是我的问题,而不是编译器的问题。有没有更好的方法来表达我想要的部分专业化?
c++ - 特定类型的部分模板特化,c++
使用模板的部分专业化我想创建一个函数/方法:
A) 仅处理形式参数的一种特定原始类型(int、double、float、...),而其他类型则抛出异常
B)处理形式参数的更多非原始类型(用户定义类型)和其他类型抛出异常......
一些代码示例会很有帮助(没有 c++ boost 库)。谢谢你的帮助。
c++ - C++ 部分模板特化语法
对于主模板:
与模板专业化,有什么区别
和
function - F# 内联函数特化
我当前的项目涉及词法分析和解析脚本代码,因此我正在使用 fslex 和 fsyacc。Fslex LexBuffers 可以有两种形式LexBuffer<char>
,LexBuffer<byte>
我希望可以选择同时使用这两种方法。
为了同时使用两者,我需要一个 ^buf -> 字符串类型的词位函数。到目前为止,我的专业化尝试看起来像:
我收到一个类型错误,指出函数体应该是 type ^buf -> string
,但推断的类型是 just string
。显然,我做错了什么(主要是?)。
我正在尝试在 F# 中甚至可能吗?如果是这样,有人可以指出我正确的路径吗?
谢谢!
c++ - 部分特化模板内的方法指针
我正在尝试使用只读、只写和读写行为来实现属性。我认为模板专业化将是这里的方法,所以我尝试了这个:
这不起作用并给出编译器错误 (VC):部分特化不能具有依赖的非类型模板参数。
我在这里迷路了,这可能吗?
谢谢你的时间,理查德。
c++ - 成员函数重载/模板专业化问题
我一直在尝试调用重载的table::scan_index(std::string, ...)
成员函数,但没有成功。为了清楚起见,我已经删除了所有不相关的代码。
我有一个名为的类table
,它有一个重载/模板化的成员函数scan_index()
,以便将字符串作为特殊情况处理。
然后有一个hitlist
类,它有许多模板化的成员函数,它们调用table::scan_index(T, ...)
最后,启动这一切的代码:
问题是table::scan_index(std::string, ...)
它调用模板版本而不是调用。我尝试过同时使用重载(如上所示)和专用函数模板(如下),但似乎没有任何效果。盯着这段代码几个小时后,我觉得我错过了一些明显的东西。有任何想法吗?
更新:
我从电话中删除了<T>
装饰。scan_index()
结果是带有字符串参数的调用编译得很好,但是使用其他类型(例如 double)的调用会导致以下错误:
所以我回到使用模板专业化。现在我得到这个错误:
仅供参考:我正在使用 VC++ 10.0
解决方案:scan_index()
我通过从类
中删除模板化函数table
并简单地编写四个重载函数(其中三个除了签名相同)来解决此问题。幸运的是,它们都很短(不到十行),所以还不错。
c++ - 未能专门化功能模板
这是家庭作业,虽然它已经用不同的方法提交了。
我从 Visual Studio 2008 得到以下信息
代码如下
函数对象定义为
这里有什么药?
[编辑]对不起,也许我应该明确继承
[/编辑]
[Edit2]
在工具箱的建议(这似乎很合理)之后,我得到了以下错误消息
main.cpp 仍然是相同的,但对函子层次结构和源文件进行了一些细微的修改。前向声明等不起作用,所以我不得不将定义放在单独的文件中。
我真的不明白这一点,我在这里错过了什么?一些转换操作,还是什么?
[/编辑2]
[Edit3]
我希望是最后也是最后的编辑。在调试和重写一些代码之后,我实际上得到了这个工作。这就是我最终的结果,这是我能做的最好的
这似乎有效,无论是在一个单独的项目(今天大部分时间都在搞砸这个)和我几天前提交的实际项目中。
非常感谢您的时间和帮助!
[/编辑3]
c++ - 模板类专业化/显式实例化是否提高了编译/链接器速度?
假设以下模板类在以int作为类型名的项目中大量使用,并且自引入此类以来链接器速度明显变慢。
定义一个类专业化有利于编译速度吗?例如。
还是显式实例化提供了更好的解决方案?例如。