gpt4 book ai didi

c++ - 将 decltype 和 std::function 与 lambda 结合使用

转载 作者:可可西里 更新时间:2023-11-01 16:27:43 25 4
gpt4 key购买 nike

这有效...

auto x = 4;
typedef decltype(x) x_t;
x_t y = 5;

...那为什么不呢?

int j = 4;  
auto func = [&] (int i) { cout << "Hello: i=" << i << " j=" << j << endl;};
typedef decltype(func) lambda_t;
lambda_t func2 = [&] (int i) { cout << "Bye: i=" << i << " j=" << j << endl;};

...以及如何使用 std::function 手动声明 lambda_t

最佳答案

... so why doesn't this [work]?

因为 lambda 的每个词法实例都有不同的类型。使用相同的字符并不重要。

.. and how would I declare lambda_t manually using std::function?

lambda 接受一个 int 参数并且不返回任何东西...因此:

typedef std::function<void(int)> lambda_t;

关于c++ - 将 decltype 和 std::function 与 lambda 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13631890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com