问题标签 [function-templates]
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++ - 如何修改参数包的每个元素,并从中创建一个元组?
我遇到了可变参数函数模板的问题。我需要检查参数包的每个元素,打包元素,然后将所有打包的元素填充到一个元组中并返回它。这是我想做的一般想法(返回类型只是占位符,不确定它们是什么):
有任何想法吗?
c++ - 如何制作通用类方法?
有没有办法制作类模板功能?
所以例如
或类似的规定。
不只是作业,我会评论。
c++ - 为什么 Stroustrup 的书展示了当时不允许的默认函数模板参数?
谁能解释我为什么在C++ Programming Language第三版的第 13 章中,Stroustrup 说明了函数模板的默认参数,尽管 C++(C++11 之前)不支持它们?这是 Stroustrup 在 13.4.1 节中给出的例子:
明确指定每个调用的比较是乏味的。幸运的是,选择默认值很容易,因此只需明确指定不常见的比较标准。这可以通过重载来实现:
或者,我们可以提供常规约定作为默认模板参数:
这是编译器错误:
错误:函数模板中不能使用默认模板参数
c++ - 功能模板规范
我想创建一个函数模板,其中类 T 仅限于特殊基类 T_base 的派生类。实现这一目标的有效方法是什么?谢谢你的帮助!
c++ - 函数模板链接错误
我创建了一个函数模板,允许我获取任何数据类型的数据,但在编译时收到错误消息:
该函数声明为:
并称为:
哪里couponList[cpnCnt].discount
是双。
代码本身在我的“内部”目录中编译得很好,但我在“外部”目录中收到上面的错误消息,后者本质上是内部代码的包装器。
c++ - 包装 C++ 模板函数
我尝试在 GNU 的链接器包装选项的帮助下包装模板函数。代码如下所示:
上面显示的代码与以下命令链接:
不幸的是,这不起作用,并且总是调用原始函数f而不是我的包装版本__wrap__Z1fIiEvT_。你看到我犯了什么错误吗?
编辑:按照建议,我在此处附加了nm的输出,以确保我没有对模板函数的损坏名称犯任何错误:
c++ - 函数模板特化失败?
#1 和 #2 有什么区别。如果我定义测试,#1 工作。但如果我评论它,#3 工作......这是编写函数模板专业化的正确方法......
c++ - 为什么两个函数有相同的地址?
考虑这个函数模板:
f<A>
现在,我将和的地址打印f<B>
为:
如果在 MSVS10 中编译,为什么它们会打印相同的地址?它们不是两个不同的功能,因此应该打印不同的地址吗?
更新:
我意识到在ideone上,它会打印不同的地址。MSVS10 优化了代码,因为函数不依赖T
于任何方式,所以它产生相同的函数。@Mark 对此的回答和评论很有价值。:-)
c++ - 关于函数模板的相同代码块在 g++ 下编译正常,但在 VC6 下出错,为什么?
我正在阅读C++ Primer 3rd edition的“函数模板”一章,当我尝试按照示例进行操作时,发现代码几乎与书中相同,在VC6下编译时遇到错误,但在g++下一切正常。我不知道为什么?
这是代码:
发生的错误VC6
如下所示: