POD类对象初始化需要构造函数吗?

用户名


我阅读了以下链接:-

带和不带括号初始化的对象

默认构造函数的类型

差异黑白值,零和默认利用率

我有一个要澄清的问题。


1)给定POD类别,请说:-

class A{
        int val;
};


如果我创建一个A类型的对象。

一个obj; //这会调用编译器提供的隐式定义的构造函数吗?
现在据我所知在这种情况下没有调用构造函数,对吗?

新的A(); //值初始化A,由于它是一个POD,因此为零初始化。现在在这种情况下将隐式定义编译器提供的构造函数吗?零初始化对象有构造函数的作用吗?

如果我的理解是错误的,请给我一个例子,其中根本不调用隐式定义的构造函数。

先感谢您。

juanchopanza

1)正确。obj.val未初始化。

2)这是一个函数声明,而不是初始化:

A obj(); // function obj() returning an A

如果这样做的话

A obj{};     //C++11
A obj = A(); // C++03 and C++11

obj将被值初始化也会被初始化obj.val反过来,这意味着obj.val将对其进行零初始化值初始化针对内置类型的零初始化)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用类构造函数初始化类对象的指针?

来自分类Dev

C ++构造函数如何初始化其类的对象?

来自分类Dev

用于对象初始化的Delphi类构造函数

来自分类Dev

我们可以在另一个类的构造函数的帮助下初始化对象吗?

来自分类Dev

我们可以在另一个类的构造函数的帮助下初始化对象吗?

来自分类Dev

是否需要初始化在Javascript中作为“类”构造函数参数传递的变量?

来自分类Dev

是否需要初始化在Javascript中作为“类”构造函数参数传递的变量?

来自分类Dev

如果构造函数具有初始化器,构造函数需要C#中的主体是有原因的吗?

来自分类Dev

可以在类构造函数中初始化线程导致崩溃吗?

来自分类Dev

您可以在类和构造函数中进行初始化,这是正确的吗?

来自分类Dev

避开基类构造函数初始化,这是一个坏习惯吗?

来自分类常见问题

无法掌握Java中的构造函数和类(初始化对象)

来自分类Dev

Arduino / C ++:在类构造函数之外初始化对象的静态数组

来自分类Dev

如何创建在构造函数期间初始化的类成员对象

来自分类Dev

如何在类的构造函数的mem_initilizer_list中初始化联合对象

来自分类Dev

对象初始化 - 构造函数的类类型和方法访问的关系

来自分类Dev

如何在类的构造函数中初始化对象的2D向量?(C ++)

来自分类Dev

如何使可以使用Typescript中的对象或常规参数构造函数初始化的类?

来自分类Dev

用参数初始化另一个类构造函数中的对象

来自分类Dev

PHP-在类的构造函数中初始化对象的实例,在静态成员中进行访问

来自分类Dev

Qt:在构造函数内部连接-在初始化对象之前会调用插槽吗?

来自分类Dev

C#对象初始化程序-包括构造函数调用括号吗?

来自分类Dev

构造函数默认的非可选参数初始化对象吗?

来自分类Dev

Java构造函数中类变量的初始化

来自分类Dev

在构造函数中初始化数组类变量

来自分类Dev

在类构造函数中初始化const向量(C ++)

来自分类Dev

在<jsp:useBean>中使用构造函数初始化类

来自分类Dev

抽象类构造函数的初始化

来自分类Dev

在类构造函数中初始化向量

Related 相关文章

  1. 1

    用类构造函数初始化类对象的指针?

  2. 2

    C ++构造函数如何初始化其类的对象?

  3. 3

    用于对象初始化的Delphi类构造函数

  4. 4

    我们可以在另一个类的构造函数的帮助下初始化对象吗?

  5. 5

    我们可以在另一个类的构造函数的帮助下初始化对象吗?

  6. 6

    是否需要初始化在Javascript中作为“类”构造函数参数传递的变量?

  7. 7

    是否需要初始化在Javascript中作为“类”构造函数参数传递的变量?

  8. 8

    如果构造函数具有初始化器,构造函数需要C#中的主体是有原因的吗?

  9. 9

    可以在类构造函数中初始化线程导致崩溃吗?

  10. 10

    您可以在类和构造函数中进行初始化,这是正确的吗?

  11. 11

    避开基类构造函数初始化,这是一个坏习惯吗?

  12. 12

    无法掌握Java中的构造函数和类(初始化对象)

  13. 13

    Arduino / C ++:在类构造函数之外初始化对象的静态数组

  14. 14

    如何创建在构造函数期间初始化的类成员对象

  15. 15

    如何在类的构造函数的mem_initilizer_list中初始化联合对象

  16. 16

    对象初始化 - 构造函数的类类型和方法访问的关系

  17. 17

    如何在类的构造函数中初始化对象的2D向量?(C ++)

  18. 18

    如何使可以使用Typescript中的对象或常规参数构造函数初始化的类?

  19. 19

    用参数初始化另一个类构造函数中的对象

  20. 20

    PHP-在类的构造函数中初始化对象的实例,在静态成员中进行访问

  21. 21

    Qt:在构造函数内部连接-在初始化对象之前会调用插槽吗?

  22. 22

    C#对象初始化程序-包括构造函数调用括号吗?

  23. 23

    构造函数默认的非可选参数初始化对象吗?

  24. 24

    Java构造函数中类变量的初始化

  25. 25

    在构造函数中初始化数组类变量

  26. 26

    在类构造函数中初始化const向量(C ++)

  27. 27

    在<jsp:useBean>中使用构造函数初始化类

  28. 28

    抽象类构造函数的初始化

  29. 29

    在类构造函数中初始化向量

热门标签

归档