函數對象(仿函數)是重載了 operator() 的類實例。優於普通函數指針之處在於可攜帶狀態(成員變量),且能內聯優化。STL 算法廣泛使用:
for_each 的操作函數。find_if、remove_if、partition 等。transform 的二元操作。sort、unique、stable_sort 等。
[捕獲列表](參數列表) mutable/拋出異常 -> 返回類型 { 函數體 }
| 形式 | 說明 |
|---|---|
[] | 無捕獲 |
[var] | 值捕獲,不可修改(除非加 mutable) |
[&var] | 引用捕獲,可修改外部變量 |
[=] | 默認值捕獲所有外部變量 |
[&] | 默認引用捕獲所有外部變量 |