Skip to content

Commit

Permalink
增加对形参包在列表初始化中展开的解释。
Browse files Browse the repository at this point in the history
  • Loading branch information
Mq-b committed Mar 16, 2024
1 parent b105de0 commit c86a301
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion md/第一部分-基础知识/01函数模板.md
Original file line number Diff line number Diff line change
Expand Up @@ -601,7 +601,9 @@ int main() {
[`std::common_type_t`](https://zh.cppreference.com/w/cpp/types/common_type) 的作用很简单,就是确定我们传入的共用类型,说白了就是这些东西都能隐式转换到哪个,那就会返回那个类型。
`RT _[]{ args... };` 创建一个数组,形参包在它的初始化器中展开,初始化这个数组,数组存储了我们传入的全部的参数。
`RT _[]{ static_cast<RT>(args)... };` 创建一个数组,形参包在它的初始化器中展开,初始化这个数组,数组存储了我们传入的全部的参数。
> 因为[窄化转换](https://zh.cppreference.com/w/cpp/language/list_initialization#.E7.AA.84.E5.8C.96.E8.BD.AC.E6.8D.A2)禁止了列表初始化中 int 到 double 的隐式转换,所以我们需要显式的转换为“公共类型” `RT`
至于 `sizeof...` 很简单,单纯的获取形参包的元素个数。
Expand Down

0 comments on commit c86a301

Please sign in to comment.