我是C++的新手,我试图在学习新语言的同时移植一些javascipt脚本。C++信号回调(如javascript)
我试图找到解决使用回调像JavaScript,尤其喜欢js-signals库
下面是javascipt的脚本。它可以转换为C++吗?怎么样?如果不是,那么最好的解决方案是什么?
的Javascript
var ns = {
_callback: null,
setUpdate: function(callback) {
ns._callback = callback;
},
update: function() {
// do some default things
ns._callback();
}
};
ns.setUpdate(function() {
console.log("I'm Changed"); // will be: std::cout << "I'm Changed\n";
});
C++
namespace ns {
// ??
};
// ns::setUpdate(??);
是的,你可以在C++中做回调。我认为最接近您的JS代码的C++(我不知道JS的所有内容,所以我只是猜测)会将lambda存储在'std :: function'成员变量中。 – MikeMB
搜索“函数指针C++”和“lambda表达式C++”....这会让你开始.....有很多处理,虽然 – DarthRubik