##lua与C --- ###Lua的虚拟栈 --- - 每一个与Lua通信的C函数都有其独有的虚拟栈,虚拟栈由Lua管理 - 栈中的数据通过索引值进行定位 - 其中栈顶是-1,栈底是1,也就是第1个入栈的在栈底 - 正数表示相对于栈底的位置(位移),负数表示相对于栈顶的位置(位移) --- --- ###方法调用 ```C //nargs 参数个数 //nresu
###table相关api --- ```c lua_createtable 原型: void lua_createtable (lua_State *L, int narr, int nrec); 描述: 创建一个新的table并将之放在栈顶.narr是该table数组部分的长度,nrec是该table hash部分的长度. 当我们确切的知道要放多少元素到table的时候,使
##Lua的基本类型 --- - 简单变量类型: - `number`:数字类型,所有的数字都是number类型,内部实现中区分为整形和浮点型。 - `string`:字符串类型 , “xxx” 或 ‘xxx’ - `boolean` 布尔类型 , true 或 false - `nil` 空类型 , 未声明的变量均为nil类型 - 复
##装箱拆箱 --- - 装箱是将`值类型转换为引用类型`,详细点就是`值类型到Object类型或值类型所实现的任何接口类型的隐式转换` - 将引用类型转换为值类型,详细点就是`从object类型到值类型`或`从接口类型到实现该接口的值类型`的显示转换 --- ###装箱步骤 - 首先从托管堆中为新生成的引用对象`分配内存` - 然后将值类型的数据`拷贝`到刚刚分
## Socket编程 TCP粘包 --- ### TCP粘包 - 粘包可能在服务端产生也可能在客户断产生,提交数据给tcp发送时,tcp并不立刻发送此段数据,而是等待一 小段时间,看看在等待期间是否还有要发送的数据,若有则会一次把这两段数据发送出去,造成粘包; - 另一端在接收到数据后,放到缓冲区中,如果消息没有被及时从缓存区取走,下次在取数据的时候可能就会出现一次取出多个数据包
##虚方法调用 --- - 现在面向对象的封装、继承、多态中的`多态`实现主要就是靠`虚方法` - 一个类型可能会有子类,子类可能会重写类型的方法从而达到不同的行为(多态),而这些`重写的方法`都在`虚方法表`里,`调用`的话就需要`查表`。 - 编译器在编译的时候为每一个含有`虚函数的类`分配一个`虚函数表`,生成对象的时候为`每一个对象`分配一个`虚表指针`,指向本类的`虚函数表
##C# 版本与 Unity 的关系 --- ###Unity 与 C# 版本
Unity 版本C# 版本
Unity 2021.2C# 9
Unity 2020.3C# 8
Unity 2019.4C# 7.3
Unity 2017C# 6
Unity 5.5C# 4
--- - 不同Unity版本支持的C#版
##unity坐标系 --- 屏幕坐标系 Screen Space - 屏幕坐标系是建立在屏幕上的二维坐标系。 - 以像素来定义的,屏幕的左下角为(0,0),右上角为(Screen.width, Screen.height),z轴的坐标是相机的世界坐标中z轴坐标的负值。 - 鼠标位置坐标属于屏幕坐标,通过Input.mousePosition可以获得该位置的坐标。 - 屏幕也
- 两数之和-01 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 1: 输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为 nu
- 648. 单词替换-字节 在英语中,我们有一个叫做 词根(root) 的概念,可以词根后面添加其他一些词组成另一个较长的单词——我们称这个词为 继承词(successor)。例如,词根an,跟随着单词 other(其他),可以形成新的单词 another(另一个)。 现在,给定一个由许多词根组成的词典 dictionary 和一个用空格分隔单词形成的句子 sentence。你需要将句子中
    Page 2 of 5