不知道有谁能解释一下默认ctor在内存分配后做了什么,它是如何初始化分配的内存的?
我不知道你是用哪种语言问的问题,但我还是试着回答一下C++和Java的问题。
在C++中,它.C++是一个非常好的例子。
int
, float
指针等)到一个未初始化的值。在Java中,我认为所有的类成员都初始化为默认值(0或NULL)。
默认构造函数调用了所有非静态数据成员的默认构造函数,除了那些内置类型的成员,它们仍然没有初始化。
[2003: 12.1/5]
:
一个类X的缺省构造函数是指可以在没有参数的情况下调用的类X的构造函数。如果没有用户声明的类X的构造函数,则隐式声明一个缺省构造函数。
[2003: 12.1/8]
:
缺省构造函数被隐式调用,用于创建没有初始化器(8.5)的静态或自动存储持续时间(3.7.1,3.7.2)的类对象。
请看一下 这个 (在C和C++实现中)。
是的,不同语言的实现方式不同。