![]() |
1
3
它所做的只是定义另一个作用域,而不是将其转换为方法调用。记住,对于局部变量,CLR/JVM可以决定根本不使用堆栈空间,它可以选择使用处理器寄存器。在某些情况下,如果你原谅这个双关语,它可能会决定优化一些当地人,因为他们不被需要。它甚至可以决定,它可以使用一个寄存器,或内存位置“在堆栈上”的多个变量,因为他们永远不会重叠。 以链接问题为例:
从目前的情况来看,该代码在功能上与:
作为
|
![]() |
2
2
范围由编译器在编译时定义。它对变量的实际内存布局几乎没有影响。因此,如果我要写:
|
![]() |
3
1
它的工作原理与用于创建新本地作用域的任何其他{}对一样。这两者在范围上没有区别:
还有这个:
块始终可以访问其外部作用域,否则这将不起作用:
|
![]() |
4
0
此外,使用时也会出现问题
如你所见,
|
![]() |
Tor · 使用Box<None>值初始化struct 2 年前 |
![]() |
Judy · 在两个JavaScript函数中更新全局变量 2 年前 |
![]() |
ask_me · Python中关于局部和全局范围的概念性问题 2 年前 |
![]() |
Astha Gupta · 闭包中的词汇作用域是如何发生的?[重复] 2 年前 |
![]() |
Empha · 从成员函数对对象所做的更改不会持续。范围/参考问题? 6 年前 |
![]() |
pag-r · Golang开关变量范围 6 年前 |
![]() |
yurnero · MATLAB:“加载”一个快速访问功能 6 年前 |