## unity3d中ScriptingBackend选择mono和il2cpp的区别
**Mono介绍**
---
Mono是一个开源的、跨平台的开发平台,允许开发者使用C#等编程语言来创建应用程序,这些应用程序可以在多个操作系统上运行,如Linux、macOS和Windows
---
Mono主要组成包括`Mono编译器`,`Mono虚拟机`,`一个与.NET Framework相
排序算法 | 平均时间复杂度 | 最好情况 | 最坏情况 | 空间复杂度 | 排序方式 | 稳定性 |
---|
冒泡排序 | O(n2) | O(n) | O(n2) | O(1) | In-place | 稳定 |
选择排序 | O(n2) | O(n2) | O(n2) | O(1) | In-place | 不稳定 |
插入排序 | O(n2) | O(n) | O(n2) | O(1) | I |
1.c#闭包
闭包(Closure)指的是一个函数(或委托)以及它所引用的外部变量的组合。闭包允许函数访问其外部范围内的变量,即使函数在该范围之外被调用时也是如此。
---
闭包可以导致内存泄漏的问题。如果闭包引用了一个大型对象,而该对象在闭包之后不再需要,但闭包仍然存在,那么该对象可能不会被垃圾回收。因此,在使用闭包时,应谨慎管理内存和生命周期
---
闭包在以下情况下可能会导致垃圾回
```C++
//
// Created by agile on 2024/3/19.
//
#include "iostream"
#include "functional"
#ifndef LEETCODETEST_SORTS_H
#define LEETCODETEST_SORTS_H
class Sorts {
private:
Sorts() = default;
pu
### 静态成员变量需要注意的地方
---
- 必须`初始化`,且`必须在类外面初始化`,初始化时不能带有`static`关键字
- 如果类的声明`.h`和实现`.cpp`写在不同的文件中,即分离。那初始化必须在实现中,即`.cpp`中
- 静态成员变量跟对象没有关系,销毁对象不会影响静态成员变量
---
###左值引用
---
```C++
int i1 = 1
[UNITY实战进阶-三维AABB包围盒详解-6](https://blog.csdn.net/flj135792468/article/details/120654391)
[ObbUnity](https://github.com/voonfoo/ObbUnity)
[Unity Avatar Camera Controller 第一、第三人称相机控制](https://blog.csdn
---
- 交替合并字符串
给你两个字符串 word1 和 word2 。请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。
返回 合并后的字符串 。
```C#
public string MergeAlternately(string word1, string word2)
{
var wor
### 深度优先搜索算法(DFS)
是一种用于`遍历或搜索树或图`的算法。沿着`树的深度遍历树的节点`,尽可能`深的搜索树`的分支,以`栈`来实现算法
---
### 广度优先搜索(BFS)
一种`盲目搜寻法`,目的是系统地展开并检查图中的所有节点,以找寻结果
---
####步骤
---
- 首先将根节点放入队列中。
- 从队列中取出第一个节点,并检验它是否为目标。
- 如果找到
###Xlua 热补丁
---
```lua
xlua.hotfix = function(cs, field, func)
if func == nil then func = false end
local tbl = (type(field) == 'table') and field or {[field] = func}
for k, v in pairs(t
```lua
...
function metatable:__index(key)
...
local obj = import_type(fqn)
if obj == nil then
-- It might be an assembly, so we load it too.
obj = { ['.fqn'] = fqn }