branch什么意思中文翻译_回调(callback)是什么&回调怎么用
Tips:要理解函数指针和内存地址的知识。
现实中,callback常用在电话通话的场景中,在这个场景中,它的意思是回拨、回访。描述的是通过某人打来的电话打回去给这个人这样的操作。要回拨给这个人,需要他的电话号码作为通信地址。
在程序设计中,callback被翻译为"回调",它描述的是把一个函数B作为参数传递给另一个函数A,在函数A内调用函数B的操作。和电话通话的情况类似(函数B把自己的地址传递给了函数A,函数A用这个地址对函数B进行"回访"),函数A要和函数B进行通信,需要知道函数B在内存中的位置,在C++等编程语言中可以把函数B在内存中的位置以函数指针的方式传递给函数A,把函数B的内存地址看做是一个电话号码,当函数A"回拨"过去的时候就可以调用函数B了。
回调怎么用
假设有一个把中文翻译为其他语言的函数ChineseConverter(content,converter),它接受字符串参数content和函数指针参数converter,converter指向的函数负责把content的内容翻译为其他语言。
另外,还定义了一些负责进行翻译的方法:ConvertToEnglish()、ConvertToSpanish()、ConvertToJanpanese()。
把中文如何翻译成其他语言的逻辑分离出来定义为其他函数后,就可以把这些函数当成插件一样来使用:当ChineseConverter方法要把中文转换为英语时,可以把ConvertToEnglish方法的函数指针传入,在内部调用;当要把中文转换为西语时,只需要把ConvertToSpanish的函数指针传入……
这样的设计提供了更高的灵活性,作为插件的函数可以被随时替换以实现不同的功能并且可以在程序运行时动态地替换插件函数。