c++ - C++ 表达式模板的教程和介绍

标签 c++ templates arrays metaprogramming expression-templates

创建 C++ 表达式模板系统有哪些好的介绍?我想在用户定义的类型上表达算术,同时避免临时值(可能很大),并学习如何直接执行此操作而不是应用现有库。

我找到了 Todd Veldhuizen's original paperJosuttis C++ Templates book 中的示例,以及 Kreft & Langer 的一篇文章. Modern C++ 类(class)的第 6 讲中提到了它,引用 Josuttis。POOMA 图书馆 background很好地介绍了表达式模板。

我正在寻找简单、清晰的说明。

最佳答案

我找到了 Expression Templates Demystified得到很好的解释。它首先展示了如何在没有模板的情况下实现数学表达式,并展示了基本的构建 block 和概念。

文章的第二部分展示了如何重构初始实现以使用模板来提高性能并减少代码。

IMO,这篇文章是“C++ 模板:完整指南”中表达式模板章节的一个很好的替代。

关于c++ - C++ 表达式模板的教程和介绍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2526862/

相关文章:

c++ - 在类中传递 vector 而不复制

c++ - 抽象类的模板实例化

C++:当包含从类模板派生的类的 header 时,编译器警告 C4505

python - 创建一个与列表关联的字典并通过循环更新它

c++ - 使用rapidxml循环遍历节点

c++ - 使用 braced-init 初始化 std::shared_ptr<std::map<>>

c++ - 删除C++字符串中的字符

c++ - 在具有 const/nonconst 版本的 C++ 模板类上重载 [] 运算符

c - 如何使用指针正确地将字符串输入存储到字符数组中?

python - Numpy bool 逻辑(检查元素是否不是什么)