c++14 泛型lambda表达式

c++14 泛型lambda表达式,第1张

c++14 泛型lambda表达式 直接看一个例子:
#include 

auto lam = [](auto&& v) {
    std::cout << v << std::endl;
};

lam(31);
31
调用一下
lam(31);
31
有了泛型lambda,在一个模板函数中为表达式输入一个不确定类型的参数
template
void doSth(T&& t, Func func) {
    func(t);
}
调用一下
doSth("hello", lam);
doSth(1.21, lam);
hello
1.21
在c++11中,只能使用一个带有模板调用 *** 作符重载的仿函数对象实现
struct Method {
    template
    void operator ()(T&& t) {
        std::cout << t << std::endl;
    }
};
调用一下
doSth("hello", Method());
doSth(1.21, Method());
hello
1.21

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存