我想知道是否有一种方法可以像在 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/