寄存器变量 这个可以不理睬 register 关键字定义的变量直接放在寄存器当中 寄存器是放在CPU内部的存储单元,它的速度比内存快的多,所以当程序中有10000多次调用同一个变量的时候声明成寄存器变量会提高程序的执行速度. 科技发展不用这样写 register int i,f=1; 外部变量 使用关键字extern 看结果? #include <iostream> using namespace std; int fun(int x,int y); int main(){ extern in
python函数局部变量如何改变外部变量,之前我说过,局部变量是没办法改变外部变量的,除非局部变量找不到,去外部找,输出变量,使用关键词global 使变量改变外部变量. 1,使用关键词global name='this is a girl' def chan_sex(): global name name=''this is a boy’ print(name) chan_sex() print(name) 输出结果 :this is a boy 输出结果:this is a boy 注意使用
今天群里讨论java的lambda实现. 后来不断衍生谈到了为什么lambda和匿名内部类只能使用语义final的外部变量. 最开始以为是java的lambda实现问题,编译期魔法会把外部引用作为参数传入所以在内部变化也影响不了下次调用的值,所以就干脆final了,如果用类的属性来保管这个变量就可以了. In [64]: def outer(a:int): ...: def inner(): ...: nonlocal a ...: a = a + a ...: return a ...: re