什么时候使用回调函数?我知道它们是如何工作的,我已经看到它们在使用中,而且我自己也使用过很多次。
C 世界的一个例子是libcurl
它依赖于回调来检索数据。
一个相反的例子是 OpenSSL:在我使用过它的地方,我使用 out 参数:
ret = somefunc(&target_value);
if(ret != 0)
//error case
我想知道什么时候使用哪个?回调仅对异步内容有用吗?我目前正在设计我的应用程序的 API,我想知道是使用回调还是只使用 out 参数。在底层,它将使用 libcurl 和 OpenSSL 作为它构建的主要库,并且参数“returned”是 OpenSSL 数据类型。
我看不出回调比仅仅返回有什么好处。如果我想以任何方式处理数据而不是仅仅将其返回,这是否才有用?但是我可以处理返回的数据。区别在哪里?