Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Matrix-A authored Mar 1, 2024
1 parent 73a1ec8 commit 3f028d6
Showing 1 changed file with 15 additions and 3 deletions.
18 changes: 15 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@
- [`15` 表达式模板](#15-表达式模板)
+ [群友提交](#群友提交-14)
+ [标准答案](#标准答案-14)
+ [解析](#解析-3)
- [`16` 通透函数宏](#16-制造传递函数模板的宏)
+ [群友提交](#群友提交-15)
+ [标准答案](#标准答案-15)
Expand Down Expand Up @@ -2305,6 +2306,19 @@ auto operator/(const auto& lhs, const auto& rhs) {
}
```

**表达式模板**是简化版的 `std::ranges::zip_transform_view`

优点:灵活,易用,可以充分利用编译器优化

缺点:实现复杂

</details>

<details id="解析-3">
<summary>解析</summary>

### 解析

顾名思义,**表达式模板**指使用模板类表示表达式。表达式由**运算符****操作数**按照一定规律组合而成。

观察题目中的表达式为 `a - b * c / d + e` 可知:
Expand Down Expand Up @@ -2337,9 +2351,7 @@ auto operator/(const auto& lhs, const auto& rhs) {

综上所述,本题的**表达式模板**就是简化版的 `std::ranges::zip_transform_view`

我们只需要为**表达式模板**增加**亿**点点细节,就可以自行实现范围库了!🥳

> 使用**表达式模板**或范围库的原因:在提供更通用、更灵活的表达式计算的同时充分利用编译器优化,如内联、并行计算等。
我们只需要为**表达式模板**增加**亿**点点细节,就可以自行实现范围库了!🥳🥳🥳

</details>

Expand Down

0 comments on commit 3f028d6

Please sign in to comment.