是否可以将运算符传递给lambda?例如,将某些运算符传递给以下功能。
auto lambdaCompare = [](value,compare1,compare2,op){return value op compare1 and value op compare2;};
您不能传递运算符然后随意使用它,但是可以传递std::greater_equal:
#include <iostream>
#include <functional>
int main() {
auto lambdaCompare = [](int value, int compare1, int compare2, std::function<bool(int, int)> op) {
return op(value, compare1) && op(value, compare2);
};
std::cout << lambdaCompare(2, 1, 6, std::greater_equal<int>());
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |