当默认构造函数为空时,它会做什么?

发布于 2024-11-25 12:33:49 字数 50 浏览 1 评论 0原文

我想知道是否有人可以解释默认 ctor 在分配内存后会做什么,它如何初始化分配的内存?

I wonder if anyone could explain what the default ctor does after memory allocated, how it initializes the allocated memory?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

杯别 2024-12-02 12:33:49

我不知道你问的问题是哪种语言,但无论如何我都会尝试回答 C++ 和 Java

在 C++ 中,它:

  • 保留内置类型 (int, float< /code>,指针等)到未初始化的值
  • 调用类成员的默认构造函数

在Java中,我认为所有类成员都被初始化为其默认值(0或NULL)。

I don't know which languange you asked the question for, but I will try to answer anyway for C++ and Java

In C++, it :

  • leaves the built-in types (int, float, pointers, etc.) to an uninitialized value
  • calls the default constructor on class members

In Java, I think all class members are initialized to their default value (0 or NULL).

似梦非梦 2024-12-02 12:33:49

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

[2003:12.1/5]

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

[2003:12.1/8]

隐式调用默认构造函数来创建类对象
静态或自动存储持续时间(3.7.1、3.7.2)定义无
初始化程序 (8.5)。

Default constructors invoke the default constructors of all non-static data members, except those of built-in types, which remain uninitialised.

[2003: 12.1/5]:

A default constructor for a class X is a constructor of class X that
can be called without an argument. If there is no user-declared
constructor for class X, a default constructor is implicitly declared.

[2003: 12.1/8]:

Default constructors are called implicitly to create class objects of
static or automatic storage duration (3.7.1, 3.7.2) defined without an
initializer (8.5).

春花秋月 2024-12-02 12:33:49

查看 this(在 C 和 C++ 实现中)。

是的,不同语言的实现方式有所不同。

Have a look at this (in C and C++ implementation).

Yes, implementation varies from language to language.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文