時,順便推導型的R值參考我得到普遍的參考功能,可archieve完美轉發這樣的:捕捉通用參考
template <typename T>
void func(T&& t) {
other_func(std::forward<T>(t));
}
...由於T的衍生方式和標準的參考摺疊規則。
現在考慮other_func需要一個函數對象
template <typename T>
void func(T&& t) {
other_func([](int v) { return t + v; }); // I chose addition for example purposes
}
現在很明顯這不會編譯由於到t沒有被捕獲。我的問題是:我如何捕獲它,以便捕獲的值將是推導出的T?
這可能使用新的通用lambda捕獲?如果...如何?
[t = std::forward<T>(t)] ?
我仍然沒有真正得到新的捕獲初始化的力學...
快速注:目前公認的名稱轉發參考,不具有普遍性參考 –