[英]JavaScript and C++ Callback Function with Arguments
如何在C ++中實現以下JavaScript回調實現? 以下內容摘自JavaScript代碼段。 我想實現相同的功能:
var playAdBreak = function(adbreak, callback)
{
var x;
playSingle(x, function() { playAdBreak.call(this, adbreak, callback); });
};
var playSingle = function(abc, callback)
{
};
如果您在C ++ 11環境下,可以使用lambda, std::function
。 下面的代碼沒有相同的功能,但它可以轉換成如下所示,除了:C ++ lambda不是閉包,對於一個函數沒有this
。
auto playSingle = [&](const T &abc, std::function<void()> callback) {
}
auto playAdBreak = [&](const Y &adbreak, std::function<void()) callback) {
T x;
playSingle(x, [=]() { playAdBreak(adbreak, callback); });
}
我能想到的最簡單的做法是
void callBackDefinition()
{
printf("I was called");
}
void callBackExecutor(void (*callBack))
{
callBack();
}
main()
{
callBackExecutor(&callBackDefinition);
return 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.