c – 用于常见 *** 作的标准一元函数

c – 用于常见 *** 作的标准一元函数,第1张

概述是否有理由不为 functional的二进制函数提供一元版本? 我知道使用std :: bind创建一元版本很简单,但代码看起来很难看: std::find_if(std::begin(v), std::end(v), std::bind(std::less_equal<int>(), std::placeholders::_1, 42)); 我认为拥有类似的东西会更好: std::find_if 是否有理由不为 functional的二进制函数提供一元版本?

我知道使用std :: bind创建一元版本很简单,但代码看起来很难看:

std::find_if(std::begin(v),std::end(v),std::bind(std::less_equal<int>(),std::placeholders::_1,42));

我认为拥有类似的东西会更好:

std::find_if(std::begin(v),std::less_equal<int>(42));
解决方法 恕我直言,自C 11/14以来,lambdas使这种谓词变得多余?

find_if(begin(v),end(v),[](@R_419_6843@ x){ return x <= 42; });
总结

以上是内存溢出为你收集整理的c – 用于常见 *** 作的标准一元函数全部内容,希望文章能够帮你解决c – 用于常见 *** 作的标准一元函数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1221527.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存