gpt4 book ai didi

c++ - C++中的构造函数有什么好处?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:26:08 25 4
gpt4 key购买 nike

构造函数在创建对象时初始化类的数据成员。

我的问题是,这个初始化过程有什么好处?为什么我们不让每个对象在不调用构造函数的情况下确定其初始值?

还有,默认构造函数有什么好处?最后,它什么都没做,不是吗?

谢谢。

最佳答案

构造函数让每个对象确定其初始值的方法。当您在 C++ 中创建一个新对象时,最初它的所有数据成员都有一个完全不确定的值。如果您想让对象确定自己的默认值,则需要执行一些代码才能将其字段设置为有意义的值。所以简而言之,是的,对象应该确定它们的初始值,而构造函数就是这样做的方式。它们是自动调用的,因此从客户端的角度来看,无需显式调用任何初始化例程。构造函数会自动执行此操作。

至于默认构造函数,它可以而且经常包含代码,这使得它与什么都没有大不相同。例如, vector 构造函数可能会设置一个指向可以存储元素的小缓冲区的指针,并将对象的大小记录为零。什么都不做会使指针随机指向内存中的某个位置,并将大小字段设置为垃圾,从而违反类不变量并导致对象无法使用。

关于c++ - C++中的构造函数有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4919216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com