C++中关于创建对象的几种方式

C++中创建对象的方式是有多重的,并不同的创建方式具有不同的意义和生命周期,对于初学者来说还是挺不友好的,今天本初学者抛砖引玉,写一点自己的理解
假如定义了一个类classExample ,里面什么都没写。首先就是这个类classExample所具有的默认的函数有四种:

  • 无参构造函数 classExample()
  • 拷贝构造函数 classExample(classExample & cls)
  • 幅值构造函数 operator =
  • 析构函数 ~classExample()
    并且这四个函数是可以 被设定为 = default

而创建对象是通过构造函数创建的,有两种方式创建:

  • 不通过“new”关键字,在栈上创建
  • 通过关键字“new”,在堆上创建

如图所示:
第162-165行,他们都是在栈上创建对象;
第166行,是在堆上创建对象,new出来的对象必须用指针指明地址
第167行,是在栈上创建的匿名对象,它比栈上的其他非匿名对象消亡还要快。在这里插入图片描述

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值