lua访问字符串时为什么不能从栈中弹出它,也不要去修改字符串?

如题所述

在lua中,string是一个基本类型,已经完全封装了
无论是你的拼接操作还是其他操作,每次都会新生成一个string供你使用
但是 lua底层,是用C写的,而C是没有string这个基本类型的,而是用的字符数组
而当你对字符数组进行修改的时候,就不能保证原来保存的字符串的值还是正确的了
--------------------------------------------------------------------------------------------------------

因此,当你把lua的值放入堆栈时,这时候lua里的字符串已被完整的暴露在c下了
如果你对堆栈中的字符串进行修改,将会影响到lua中的字符串的值
温馨提示:答案为网友推荐,仅供参考
相似回答