b点下包
这个我知道，还有A包（滑稽）
有人吗？
同学，休息一会好不好？不要再学了，打会电动吧
学到现在倒是没觉得难，就是容易忘
用时间换空间，代价就是效率降低了
搁着套娃呢
第二十三天打卡，2025年8月12
打个卡 2028年8月22日
这里一定要看懂，不然后面会蒙
这应该会死循环吧
为什么这里返回函数不加（）
看3
我的发？
学过C语言的就知道返回函数指针，在对该指针对应的函数调用
把inner（）整体看成n 是不是这样
外层函数直接返回内层函数的调用不行吗？
闭包和嵌套函数有啥区别呀
怎么两个括号，给我整不会了
外函数的返回值是内函数名，所以outer()就是inner，outer()()就是inner()
那为啥我不能直接inner = outer（）然后再调用inner
可以理解为数学里的复合函数吗？
闭包在什么场景下使用？
1.为了封装一些局部变量，不被外部污染。2.事先封装，延迟使用
经实践验证，这里加括号，下面调用的时候正常调用，只需要一个括号也可以正常运行
为什么我没有print也有结果
要设断点吗
这个闭包和递归实际中有什么用呢？
为了保护固定参数n不会受改变
是不是因为 inner（）没有返回值？
有没有大佬解释一下是什么意思？
没有被那个了？
return内部函数要传参数而不是变量o
加括号是执行，不加是引用
这里我也觉得不是局部变量，应该是形参没有定义
嗯，return在外函数中，但o在内函数，所以报错
这个要知道点内存的东西和函数的作用域，闭包能把外层函数内部属于局部作用域的东西在内存里面继续存起来
然后在外部将inner闭包赋值给自定义变量，避免全局污染，然后在调用该变量
我告诉你们，不加括号返回闭包可复用，加括号仅得单次结果
解释好牵强！
这里很重要，大家仔细看
指针和内存地址
有人在看吗。有的话回复一个 宇宙最强
宇宙最强
闭包主要用于哪些场景呢？
C语言的指针和回调函数码？
不可变类型，前面讲过
这不是讲过了吗
这玩意有什么用
不可变对象
这里的地址是常量区的吗？
内存地址比作门牌号，然后常亮就是人，你就理解了
少年，你要止步于此了吗？
那是不是可以直接outer(20)(20)
学过C++的表示简单
如果不嵌套，把内函数写到函数外面能实现不
听老师讲的N总觉得像是M
为什么第二次调用的打印结果 没有外函数print里面的结果了
这个为啥是给内函数传值
ot是内函数的地址
因为ot（）代表调用内函数
冰冰老师讲得太棒了，没有看到哪个老师能讲清楚闭包
這個量化很有用
不知所云
感觉闭包的流程与函数的默认参数有点关系
闭包变量是哪个？
外部函数 outer 执行后，其局部变量 m 通常应被销毁，但闭包让 inner 保留了 m 的引用。闭包变量 m 会一直存在，直到所有引用它的内部函数（如 ot）不再被使用
大概理解了，意思只要调用过一次外函数再次调用内函数时就不用再次给外函数传参了，第一次给外函数传的参会一直保留，方便调用
看完闭包的语法，再结合DS的讲解，我已经熟悉闭包的使用场景了
讲的应该不是很深吧
这个地方应该跟scala里的构造器部分差不多吧
建议大家用xmind做逻辑图，很好用
原来是这么用的啊！
fn相当于形式参数吗
fn可以看作函数名，在形参多加一个变量，如果将函数名传入该形参，那么加个（）就能直接引用函数了
讲的乱了点
史蒂夫：你好
史蒂夫：为什么我不觉得呢？