我想知道是否有人可以解释分配内存后默认 ctor 的作用,它如何初始化分配的内存?
问问题
4443 次
3 回答
6
默认构造函数调用所有非静态数据成员的默认构造函数,除了那些保持未初始化的内置类型。
[2003: 12.1/5]
:
类 X 的默认构造函数是类 X 的构造函数,可以在没有参数的情况下调用。如果类 X 没有用户声明的构造函数,则隐式声明默认构造函数。
[2003: 12.1/8]
:
默认构造函数被隐式调用以创建没有初始化程序(8.5)定义的静态或自动存储持续时间(3.7.1、3.7.2)的类对象。
于 2011-07-21T09:39:48.317 回答
5
我不知道您问的是哪种语言,但无论如何我都会尝试回答 C++ 和 Java
在 C++ 中,它:
- 将内置类型(
int
、float
、指针等)保留为未初始化的值 - 调用类成员的默认构造函数
在 Java 中,我认为所有类成员都被初始化为其默认值(0 或 NULL)。
于 2011-07-21T09:13:08.890 回答
1
看看这个(在 C 和 C++ 实现中)。
是的,实施因语言而异。
于 2011-07-21T09:25:52.733 回答