解释下面的lua函数function Aid return functionactor endend假如这个函数属于module的一个区域块当引擎C++函数调用传参的时候为什么C++引擎传的参数不会覆盖掉这个区域块里面的形参
这个Lua函数定义了一个名为A的函数,它接受一个参数id。函数A返回一个匿名函数,该匿名函数接受一个参数actor。但是在这个匿名函数中并没有实际的操作,所以它并不会对传入的参数做任何处理。
在Lua中,函数参数是按值传递的,也就是说函数内部会创建一个新的变量来保存传入的参数值。这意味着传入的参数不会直接覆盖掉函数内部的形参。无论是C++引擎还是其他调用该函数的代码,传入的参数值都会被复制到函数内部的形参中,并在函数内部使用。
因此,无论传入的参数是什么,它们都不会覆盖掉函数A中的形参id。函数A中的形参id仅在函数内部可见,并且在函数返回后就会被销毁。
原文地址: https://www.cveoy.top/t/topic/hyTP 著作权归作者所有。请勿转载和采集!