|
1
27
|
|
|
2
3
这是一个语言定义的东西。 语言说明方法范围的变量 必须 被手动初始化——如果你想让它们以空开始,你必须明确地这样说——如果你不这样做,它们基本上处于未定义的状态。 相反,语言声明类作用域的变量不需要手动初始化——初始化失败会导致变量自动初始化为空——所以您不必担心。 至于这两种状态(空与未定义)之间的区别,是的,它们基本上是相同的——但是语言规定您需要初始化一个变量(无论是否自动为您完成,这取决于变量的作用域)。 |
|
|
3
0
你的声明 对象 实际上是指向堆上MyClass实例的指针或引用的声明。如果你不初始化指针,你基本上会得到一个指向随机位置的指针。通过显式初始化指向空的指针,您将其设置为指向编译器知道无效的空地址。 在Java中引入了额外的混淆,因为它为您隐式初始化成员变量为NULL。 如果使用C++之类的低级语言,它就更有意义了。 |
|
|
Tom Buck · c#程序在整数列表上冻结 8 年前 |
|
|
Ran Lavi · 在c中初始化结构的指针++ 8 年前 |
|
|
Js_zero · 在c++中实例化对象有几种方法,它们之间有什么区别 8 年前 |
|
|
jfernal · 节点。js在加载其他函数之前等待初始化变量 8 年前 |
|
|
Victor · 在javafx中运行时更改标签文本 8 年前 |
|
|
blubb · 在Kotlin中是否有更惯用的方法来初始化此映射? 8 年前 |
|
|
Bing Bang · 初始化包含字节数组的结构数组 8 年前 |