首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

创建指针时是否没有构造函数调用?

创建指针时不会调用构造函数。

在C++中,指针是一种特殊的数据类型,用于存储变量的内存地址。当我们创建一个指针变量时,它只是分配了足够的内存来存储一个地址,并没有调用构造函数。

构造函数是用于初始化对象的特殊成员函数,它在创建对象时自动调用。它负责为对象的成员变量分配内存并进行初始化。然而,指针只是存储了一个地址,并没有实际的对象需要初始化,因此不会调用构造函数。

需要注意的是,如果我们使用指针来创建一个对象,并且希望调用对象的构造函数进行初始化,我们可以使用"new"关键字来动态分配内存并调用构造函数。例如:

代码语言:cpp
复制
MyClass* ptr = new MyClass();  // 动态分配内存并调用构造函数

在这种情况下,"new"操作符会分配足够的内存来存储MyClass对象,并调用MyClass的构造函数进行初始化。然后,它返回指向新分配对象的指针。

总结起来,创建指针时不会调用构造函数,因为指针只是存储地址的变量。如果需要创建对象并调用构造函数,可以使用"new"操作符来动态分配内存并初始化对象。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

轻量级Golang IoC容器——iocgo

习惯于Java或者C#开发的人应该对控制反转与依赖注入应该再熟悉不过了。在Java平台有鼎鼎大名的Spring框架,在C#平台有Autofac,Unity,Windsor等,我当年C#开发时用的最多的就是Windsor。使用IoC容器是面向对象开发中非常方便的解耦模块之间的依赖的方法。各个模块之间不依赖于实现,而是依赖于接口,然后在构造函数或者属性或者方法中注入特定的实现,方便了各个模块的拆分以及模块的独立单元测试。 在[长安链]的设计中,各个模块可以灵活组装,模块之间的依赖基于protocol中定义的接口,每个接口有一个或者多个官方实现,当然第三方也可以提供该接口更多的实现。为了实现更灵活的组装各个模块,管理各个模块的依赖关系,于是我写了iocgo这个轻量级的golang版Ioc容器。

02
领券