函数返回一个类对象的构造过程解析
admin
2024-05-04 05:12:38
0

对于一个类Class_A,函数

Class_A  function()

{

        Class_A  a;

        ...... // some operation

        return a;

}

在调用 Class_A   b = function() 时

在返回a对象时,对象的构造过程如下:

①  Class_A @tmp = Class_A(a);        //首先拷贝构造出一个临时变量@tmp

② a::~Class_A() ;    //局部变量 a 被析构释放

③Class_A  b = @tmp;     //调用拷贝构造函数,利用临时变量@tmp构造 b,不过在单步跟踪时,为何未看到这一变量传送过程???被编译器优化????  

但是当执行Class_A b = other_class_a时,将执行拷贝构造函数。

④@tmp::~Class_A;        //临时变量使命完成,被析构释放

测试环境为VS2017,Windows10。

相关内容

热门资讯

《辐射避难所》图文攻略 全建筑... 第1页:菜单/界面介绍(1)展开《辐射避难所》受《幽浮》和《模拟城市》等游戏的启发,在游戏中玩家需要...
《伊苏8》图文攻略 全要素流程... 第1页:序章展开《伊苏8》会将玩家们带入一场新的冒险历程,下面小编就为大家带来《伊苏8》图文攻略,全...
《三国志13》陶谦之子陶商天下... 第1页:展开每位玩家在《三国志13》中都能演绎出独特的故事,下面为大家带来“幽月半江愁”分享的《三国...
好用的制图软件排行榜 免费制图... 日常做海报、宣传图,都离不开趁手的工具,下面是好用的制图软件排行榜,功能都十分强大噢!知道大家担心下...
上海坐地铁用什么软件有哪些 上... 来上海坐地铁不用愁,多款软件都能扫码乘车,各有优势,上海坐地铁用什么软件?Metro大都会是地铁官方...
阿里系app有哪些 实用的阿里... 阿里系app有哪些阿里作为大家都非常熟悉的互联网平台,当中也会有着非常多优秀的软件的产生。那么关于阿...
装修工人自己接单的app有哪些... 装修工人自己接单的app对于一些房屋装修或者是工人自己找工作的话,如果没有合适的渠道来说会耽误非常多...
免费观看体育赛事的app有哪些... 那么随着不同精彩的体育赛事的开展很多的免费观看体育赛事的app也是随机产生,这样可以给大家提供了更加...
电影院同步上映的app有哪些 ... 电影院同步上映的app现在很多用户在选择看电影的软件的时候,也是很难抉择,因为随着市场上各种影视软件...
免费压缩软件有哪些 功能全面的... 免费压缩软件已经成为了大家在办公当中非常常用的一种工具,对于不同格式之间都可以去进行轻松的切换。这样...