C可變參數解包
示例:
| |
| |
C++ 可變參數模板與遞歸解包
方式一:遞歸解包
| |
方法二:摺疊表達式
| 類型 | 寫法 | 展開結果 |
|---|---|---|
| 一元左摺疊 | (... + args) | ((a + b) + c) |
| 一元右摺疊 | (args + ...) | (a + (b + c)) |
| 二元左摺疊 | (0 + ... + args) | (((0 + a) + b) + c) |
| 二元右摺疊 | (args + ... + 0) | (a + (b + (c + 0))) |
示例:
| |
完美轉發
| |
| |
C可變參數解包示例:
| |
| |
| |
| 類型 | 寫法 | 展開結果 |
|---|---|---|
| 一元左摺疊 | (... + args) | ((a + b) + c) |
| 一元右摺疊 | (args + ...) | (a + (b + c)) |
| 二元左摺疊 | (0 + ... + args) | (((0 + a) + b) + c) |
| 二元右摺疊 | (args + ... + 0) | (a + (b + (c + 0))) |
示例:
| |
| |
| |