问题标签 [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.

0 投票
2 回答
6896 浏览

c++ - 你如何将结构模板标记为朋友?

我有这样的代码:

赋予模板友谊的正确语法是什么?

0 投票
4 回答
689 浏览

c++ - 模板化超类链接问题

我正在尝试创建一个带有模板化超类的 C++ 类。这个想法是,我可以很容易地从许多具有相似特征的超类中创建许多相似的子类。

我将有问题的代码提炼如下:

template_test.h

template_test.cpp

main.cpp

Templated<Base>::Templated(int)当我构建代码时,我得到链接器错误,说Templated<Base>::Foo()找不到符号。

一个快速的谷歌建议添加以下内容main.cpp将解决问题:

但这并不能解决问题。添加行main.cpp也不起作用。(虽然,有趣的是,将它们添加到两者都会导致链接器出现“多重定义的符号”错误,因此它们必须在做某事......)

但是,将所有代码放在一个源文件中确实可以解决问题。虽然这对于上面的点头示例来说是可以的,但如果我被迫将全部内容放在一个 cpp 文件中,我正在查看的实际应用程序将很快变得难以管理。

有谁知道我正在做的事情是否可能?(如何)我可以解决我的链接器错误吗?

我会假设我可以将所有方法都设置为class Templatedinline 并且这会起作用,但这似乎也不理想。

0 投票
23 回答
275973 浏览

c++ - 如何轻松地将 C++ 枚举映射到字符串

我正在使用的一些库头文件中有一堆枚举类型,我想要一种将枚举值转换为用户字符串的方法 - 反之亦然。

RTTI 不会为我这样做,因为“用户字符串”需要比枚举更具可读性。

蛮力解决方案将是一堆这样的函数,但我觉得这有点太像 C 了。

我有一种直觉,认为有一个使用模板的优雅解决方案,但我还不能完全理解它。

更新:感谢您的建议-我应该明确说明枚举是在第三方库标头中定义的,所以我不想更改它们的定义。

我现在的直觉是避免使用模板并执行以下操作:

0 投票
11 回答
22304 浏览

java - Java的代码/模板生成器

对于 C#,我经常使用CodeSmith和最近的T4 生成器,它是 Visual Studio 的一部分。

我正在为 Java 寻找类似的东西,特别是 Eclipse 插件,因为我使用 Eclipse IDE 进行所有 Java 开发。

0 投票
10 回答
286149 浏览

c++ - 对模板参数使用“类”或“类型名”?

可能重复:
模板中关键字“typename”和“class”的 C++ 差异

在 C++ 中定义函数模板或类模板时,可以这样写:

或者可以这样写:

有充分的理由偏爱其中一个吗?


我接受了最受欢迎(和有趣)的答案,但真正的答案似乎是“不,没有充分的理由偏爱其中一个。”

  • 它们是等价的(除非如下所述)。
  • 有些人有理由总是使用typename.
  • 有些人有理由总是使用class.
  • 有些人有理由同时使用两者。
  • 有些人不在乎他们使用哪一个。

但是请注意,在 C++17 之前,对于模板模板参数,需要使用 ofclass代替typename。请参阅下面的 user1428839 的答案。(但这种特殊情况不是偏好问题,而是语言的要求。)

0 投票
6 回答
1461 浏览

php - 解析文件中的嵌套标签

我想知道-解析以下内容的最有效方法是什么:

当然,这最终是为了成为一个模板系统,所以我的计划是创建一个哈希图来“覆盖”模板,就像这样

值得注意的是,“部分”(以#开头的标签)可以重复多次,我认为这就是让我绊倒的原因......

此外,任何部分都可以包含任意数量的其他部分,以及常规标签......

所以..你是怎么做到的?

0 投票
10 回答
187947 浏览

c++ - 模板模板参数有哪些用途?

我见过一些使用模板模板参数(即以模板作为参数的模板)进行基于策略的类设计的 C++ 示例。这种技术还有什么其他用途?

0 投票
1 回答
31802 浏览

templates - 软件/系统移交模板 - 有什么好的例子吗?

我需要将我刚刚发布的更新公司网站的内容移交给我们的内容编辑。显然,带笔记的培训课程是不够的。很公平。

因此,更可怕的文档迫在眉睫。在对 Google 进行了相当简短的搜索后,我找不到任何相关且可用的模板来用作网站或 Web 应用程序移交的基础。我发现应该出现在此类文档中的最有用的项目列表是专家交流(敌人):

  1. 系统概述、概述
  2. 流程和跨部门流程
  3. 系统配置、设置和依赖项
  4. 技术要求、特点和限制
  5. 支持过程
  6. 用于故障排除的相关方的升级列表和联系信息

这是一个很好的工作基础——我可以为那些只会对网站进行内容更改的用户“简化”,但有人知道云中可用的良好标准模板吗?是否应该将更多内容添加到此列表中?

0 投票
2 回答
3447 浏览

c++ - c++模板函数重载

以下是“c++ 编程语言”中的几行

我不明白为什么 sqrt(z) ;电话sqrt<double>(complex<double>)可以任何机构请解释。

作者说, T sqrt<complex<T>> 比更专业,T sqrt <T>但有一个单独的声明template<class T > complex<T> sqrt(complex<T>);为什么不使用它?

0 投票
5 回答
1512 浏览

.net - 使用 aspx 渲染引擎生成非 HTML

是否可以使用 asp 模板引擎(使用部分代码隐藏类、动态 <% ... %> 块等)来生成非 HTML?我想要一种干净且可维护的方式来动态生成代码。(具体来说,我想生成填充了数据库值的 LaTeX 代码。)

目前,我的 LaTeX 模板是带有占位符的资源字符串,我将这些字符串替换为数据库值。这种解决方案很快变得非常难以维护和清洁。我真的很想使用 aspx 标记中的动态块,但我不确定 a)当输出不是 HTML 时,aspx 是否会合适,或者 b)如何将结果实际呈现到 .tex 文件中.

生成代码本身位于 C# .dll 中。我们正在使用 .NET 3.5

这可能吗?提前致谢。