问题标签 [template-meta-programming]

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 投票
15 回答
13948 浏览

c++ - 有人在现实生活中使用模板元编程吗?

我在 5 年多前发现了模板元编程,并从阅读现代 C++ 设计中获得了巨大的乐趣,但我从未找到在现实生活中使用它的机会。

是否曾经在实际代码中使用过这种技术?

Boost的贡献者无需申请;o)

0 投票
15 回答
41919 浏览

c++ - C++ 模板图灵完备?

有人告诉我,C++ 中的模板系统在编译时是图灵完备的。这篇文章维基百科都提到了这一点。

您能否提供一个利用此属性的计算的重要示例?

这个事实在实践中有用吗?

0 投票
10 回答
9427 浏览

c++ - 您在 C++ 中看到的最酷的元编程示例是什么?

您在 C++ 中看到的最酷的元编程示例是什么?
您在 C++ 中看到过哪些元编程的实际用途?

0 投票
33 回答
198418 浏览

c++ - 模板化检查是否存在类成员函数?

是否可以编写一个模板来根据类上是否定义了某个成员函数来改变行为?

这是我想写的一个简单的例子:

因此,如果class TtoString()定义,则使用它;否则,它不会。我不知道该怎么做的神奇部分是“FUNCTION_EXISTS”部分。

0 投票
3 回答
2625 浏览

metaprogramming - “元”这个词是什么意思?

这个词是什么意思?

是否与以下案例中的概念相同?

  1. C++ 中的模板元编程
  2. 数据库或文件系统中的元数据
0 投票
20 回答
102412 浏览

c++ - 如何迭代 std::tuple 的元素?

如何迭代元组(使用 C++11)?我尝试了以下方法:

但这不起作用:

错误 1:抱歉,未实现:无法将 'Listener ...' 扩展为固定长度的参数列表。
错误 2:i 不能出现在常量表达式中。

那么,我如何正确地迭代元组的元素呢?

0 投票
3 回答
2276 浏览

c++ - 基于策略的模板设计:如何访问类的某些策略?

我有一个使用多个模板化策略的类。Dish在以下示例中调用它。我将其中许多Dishes 存储在 a 中vector(使用指向简单基类的指针),但随后我想提取并使用它们。但我不知道它们的确切类型。

这是代码;它有点长,但非常简单:

棘手的部分在这里,在main()函数中:

我怎样才能获得甜点?我什至不知道 Dessert 类型(它是模板化的),更不用说我从存储中获取的对象的完整类型了。

这只是一个玩具示例,但我认为我的代码简化为这个。我只想传递这些Dish类,代码的不同部分将访问它的不同部分(在示例中:它的开胃菜、主菜或甜点)。

0 投票
1 回答
257 浏览

c++ - 这应该工作吗?

我正在尝试将元函数专门用于具有函数指针作为其参数之一的类型。代码编译得很好,但它根本不匹配类型。

输出始终是传入的类型,绝不是 bool_。

0 投票
1 回答
18332 浏览

c++ - 专门化成员函数时出现“太多模板参数列表”错误

我想在模板类中定义一些模板成员方法,如下所示:

但是在实例化模板类的时候,关于三参数的menthod定义有一个错误:

你能指出我做错了什么吗?为什么 (2nd) 方法可以,但 (3rd) 会导致编译时错误?

0 投票
3 回答
954 浏览

c++ - 图灵机:但为什么要使用模板元编程呢?

我是最后一年的工程专业学生。我和我的朋友们决定我们最后一年的项目是“使用模板元编程模拟图灵机”。

我了解“图灵机”和“模板元编程”是什么,但我的问题是,如果我们设计没有 TMP 的图灵机,为什么模拟会很乏味?如果我们使用 TMP,我们可以获得什么优势,如果我们不使用 TMP 而使用传统方法,我们会错过/获得什么?

关于我们将如何进行的任何建议?