为什么回调函数存在?

why does callbak function exist?

什么是回调函数,什么时候应该使用它们?

回调是可以传递给框架(在本例中为 Blender)的函数。 该框架具有控制权并可以做一些事情。 现在,只要合适,框架 (Blender) 调用 (使用给定参数执行它)此函数。 因此,控制权 返回 您的代码。

(虚构的)示例: 移交一个打印文本的函数,比如

void test() 
{
    std::cout << "Got called back!" << std::endl;
}

会有一些注册方式,比方说

onRenderCallback(test);

现在,无论何时 Blender 渲染它都会执行 test 并因此打印“Got called back!”。

通常,该函数带有一些参数。 这可以用于鼠标输入或类似的。 例如,您可以注册一个函数,该函数在任何按键按下时都会获取键码并对其执行某些操作。

回调在观察者模式的上下文中特别有用。