gpt4 book ai didi

c++ - 如何在 C++ 中使用模板仿函数实现回调

转载 作者:行者123 更新时间:2023-11-28 04:12:52 24 4
gpt4 key购买 nike

能否请您解释一下如何在 C++ 中使用模板仿函数实现回调函数。

我已阅读 Rich Hickey 撰写的有关此主题的以下文章,但无法理解如何在我的应用程序中使用它。

http://www.tutok.sk/fastgl/callback.html

我对仿函数和模板有基本的了解,并且已经在我的应用程序中使用过。

最佳答案

类似下面的内容:

void hello()
{
printf("hello\n");
}

template <typename CB>
void func_with_cb(CB cb, int i)
{
cb(i);
}

int main()
{
func_with_cb([](int i)
{
printf("%d\n", i);
hello();
}, 5);
}

我们在我们的函数中使用一个模板来允许任意回调而无需预先知道类型名称(编译器仍然会检查一切是否正常),然后使用 lambda 传递回调。我们还可以从匿名 lambda 函数中调用命名函数(例如 hello)

关于c++ - 如何在 C++ 中使用模板仿函数实现回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57303988/

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