gpt4 book ai didi

c++回调就像在java中一样

转载 作者:行者123 更新时间:2023-11-30 02:35:14 25 4
gpt4 key购买 nike

我想知道是否有一种方法可以像在 Java 中那样在 C++ 中实现回调?更具体地说:将回调函数传递给另一个函数时直接定义回调函数。

像这样:

int main(void) {

...

myButton->addOnClickCallback(new myCallback(){

// do some stuff.
});

return 0;
}

我在 C++ 中没有找到与此类似的东西,所以我想知道是否可能。为了方便起见,这会很好:)

最佳答案

您进一步使用 C++11 中的 lambdas:

myButton->addOnClickCallback([](){

// do some stuff.
});

这是唯一直接的方法。

如果这不可用,在其他解决方案中,您可以传递一个指向函数的指针,该函数由 & 运算符(不是必需的)获取,而不是 new。其次,该函数必须在 main 之外定义:

myCallback() {
// do some stuff.
}

int main (void) {
myButton->addOnClickCallback(myCallback);
return 0;
}

关于c++回调就像在java中一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33835818/

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