Mq-b / Loser-HomeWork

卢瑟们的作业展示,答案讲解,以及一些C++知识
https://mq-b.github.io/Loser-HomeWork/
Apache License 2.0
613 stars 130 forks source link

第15题 Matrix-A.cpp #236

Closed Matrix-A closed 7 months ago

Matrix-A commented 7 months ago

表达式模板 和 std::ranges::zip_transform_view 实现了类似的内容。

ranges 库中的实现更复杂,如包含迭代器的实现、更复杂的使用环境等;

自己实现 表达式模板 可以省去部分未使用的代码实现,提升一丝丝性能(绝大部分情况下没有必要,直接用 ranges 库就好);

Matrix-A commented 7 months ago

比我直接用 ranges 的写得要好。

有个宏 #define use_expr true 可以控制是否使用 ranges,

我用的是这个 std::ranges::zip_transform_view(std::multiplies{}, lhs, rhs);,都一样