Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 默认构造函数在';是空的吗? 我想知道有没有人能解释内存分配后默认的Cor是什么,它是如何初始化分配的内存的?_C++_Constructor_Default Constructor - Fatal编程技术网

C++ 默认构造函数在';是空的吗? 我想知道有没有人能解释内存分配后默认的Cor是什么,它是如何初始化分配的内存的?

C++ 默认构造函数在';是空的吗? 我想知道有没有人能解释内存分配后默认的Cor是什么,它是如何初始化分配的内存的?,c++,constructor,default-constructor,C++,Constructor,Default Constructor,我不知道你问的是哪种语言,但是我会尝试回答C++和java的/P> 在C++中,它是: 将内置类型(int、float、指针等)保留为未初始化的值 调用类成员上的默认构造函数 中,我认为所有类成员都被初始化为默认值(0或null)。< /P> < P>查看(C和C++实现)。 是的,实现因语言而异。默认构造函数调用所有非静态数据成员的默认构造函数,但内置类型的数据成员除外,它们仍然处于未初始化状态 [2003:12.1/5]: 类X的默认构造函数是 可以在没有参数的情况下调用。如果没有用户声

我不知道你问的是哪种语言,但是我会尝试回答C++和java的/P> 在C++中,它是:

  • 将内置类型(
    int
    float
    、指针等)保留为未初始化的值
  • 调用类成员上的默认构造函数
<爪哇>中,我认为所有类成员都被初始化为默认值(0或null)。< /P> < P>查看(C和C++实现)。
是的,实现因语言而异。

默认构造函数调用所有非静态数据成员的默认构造函数,但内置类型的数据成员除外,它们仍然处于未初始化状态

[2003:12.1/5]

类X的默认构造函数是 可以在没有参数的情况下调用。如果没有用户声明 类X的构造函数,默认构造函数被隐式声明

[2003:12.1/8]

默认构造函数被隐式调用以创建 静态或自动存储持续时间(3.7.1、3.7.2)的定义没有 初始值设定项(8.5)


所以它在Java中做了一些事情?;)@CulARIs:对,我在写C++的答案时,我看到了你对这个问题的评论,所以我在路上添加了java。我更正了答案那我需要它做什么,为什么要强制至少有一个甚至空构造函数?@ java:如果你不写它,编译器会为你定义一个C++(或者C++),所以你可以创建一个对象的实例,即使你没有编写任何构造函数。自动生成的默认构造函数做了一些事情:它默认初始化非原语类型的每个成员。例如,如果您有一个
std::string
成员,它将使用
std::string()
default构造函数初始化。