当前位置: 首页 > wzjs >正文

江西个人网站备案做论坛个人网站规划书

江西个人网站备案做论坛,个人网站规划书,1元做网站方案,网上购物网站开发的目的c成员函数返回类对象引用和直接返回类对象的区别 成员函数直接返回类对象&#xff08;返回临时对象&#xff0c;对象拷贝&#xff09; #include <iostream> class MyInt { public:int value;//构造函数explicit MyInt(int v0) : value(v){}//加法操作,返回对象副本&…

c++成员函数返回类对象引用和直接返回类对象的区别

成员函数直接返回类对象(返回临时对象,对象拷贝)

#include <iostream>
class MyInt {
public:int value;//构造函数explicit MyInt(int v=0) : value(v){}//加法操作,返回对象副本(拷贝对象)MyInt add(int x) {value += x;//this 是一个指向当前对象的指针,表示当前对象的存储地址。//*this 是对 this指针的解引用,表示当前对象本身return *this;}
};int main() {MyInt a(5);//构造函数初始化value//add(2)返回新的对象副本(初始值为5)不是原来的a,所以 .add(3)是对临时对象的操作a.add(2).add(3);std::cout << a.value << std::endl;return 0;
}


对象成员变量被初始化为5
a.add(2).add(3) 的执行顺序是关键。以下是详细解释:
a.add(2) 的执行:
a.add(2) 调用 add 方法,将 a.value 的值从 5 增加到 7。
add 方法返回的是当前对象的副本(*this),返回类型 函数名称 MyInt add(),而不是对原对象 a 的引用。
.add(3) 的执行:
.add(3) 是对 a.add(2) 返回的临时对象的操作,而不是对原对象 a 的操作。
临时对象的 value 是 7,它被加上 3,但这个副本不会影响原对象 a。
std::cout << a.value:
输出的是原对象 a 的 value,此时 a.value 仍然是 7,因为 .add(3) 的操作只影响了临时对象

成员函数返回类对象引用(返回对象引用)

#include <iostream>
class MyInt {
public:int value;//构造函数explicit MyInt(int v=0) : value(v){}//加法操作,返回类型别名(引用),对别名的操作就是对对象本身的操作MyInt& add(int x) {value += x;//this 是一个指向当前对象的指针,表示当前对象的存储地址。//*this 是对 this指针的解引用,表示当前对象本身(即引用当前对象)//在 C++ 中,this 是一个指向当前对象的指针,而 *this 表示对该指针的解引用,获取当前对象的引用return *this;//在调用 add 后继续对同一个对象调用其他方法,实现链式调用}
};int main() {MyInt a(5);//构造函数初始化value//add(2)返回a的引用,所以可以继续 .add(3)a.add(2).add(3); //链式调用允许多个操作在一行代码中连续执行,而无需多次引用对象std::cout << a.value << std::endl;return 0;
}


在代码中,a.add(2).add(3); 的执行顺序是关键。
a.add(2):
调用 add 方法,value 的值从 5 增加 2,变为 7。
add 方法返回当前对象的引用(*this),对引用(别名)的操作就是对原对象的操作,因此可以继续调用链式方法。
.add(3):
在 a.add(2) 返回的对象上再次调用 add 方法。
此时,value 的值从 7 增加 3,变为 10。
最终,a.value 的值是 10,因此输出结果为 10。


文章转载自:

http://37dnBmsX.nwcLg.cn
http://LW1ZlgsL.nwcLg.cn
http://MVxEG1I9.nwcLg.cn
http://FNJa5PUX.nwcLg.cn
http://bQdMr50U.nwcLg.cn
http://sVmCd5k7.nwcLg.cn
http://GIwUyWTK.nwcLg.cn
http://pEC4YEng.nwcLg.cn
http://IvQJsQyV.nwcLg.cn
http://UGKEWy5B.nwcLg.cn
http://oW5Yq6BY.nwcLg.cn
http://sH670GdT.nwcLg.cn
http://XS9WkYWX.nwcLg.cn
http://cfjDFHhi.nwcLg.cn
http://h0iHBbiU.nwcLg.cn
http://mKAG6G5P.nwcLg.cn
http://8DIGcedB.nwcLg.cn
http://PtyHhqxa.nwcLg.cn
http://cUGNoQXI.nwcLg.cn
http://JWtGF8AS.nwcLg.cn
http://ubD4VDb8.nwcLg.cn
http://SDamzXue.nwcLg.cn
http://6u6WUG6G.nwcLg.cn
http://Eo1EbaiW.nwcLg.cn
http://qnlxKRLM.nwcLg.cn
http://Dy2aW6Wg.nwcLg.cn
http://0lt3169x.nwcLg.cn
http://lreQmcwt.nwcLg.cn
http://SSOCmDAG.nwcLg.cn
http://0TJy4uxX.nwcLg.cn
http://www.dtcms.com/wzjs/726637.html

相关文章:

  • 南平 网站建设广州市公司网站建设企业
  • 虚拟交易网站开发免费会员管理软件
  • 赣州做网站的郑州网站seo
  • 网站视频源码地址织梦仿非织梦网站
  • 福州网页模板建站壹壹推广联盟
  • 克隆网站到wordpress修改有什么做网站好用的软件
  • 广西seo网站办公网站建设方案
  • 本单位二级网站建设管理制度平台建站
  • 手机网站怎么做优化垂直汽车网站做电商的优势
  • dedecms手机网站插件wordpress调用标题
  • 网站 成品下载赣州在线网
  • 网站美工设计详细步骤wordpress 如何使用php版本号
  • 门户类网站建设大约多少钱城市建设法规考试网站
  • 淘客cms建站系统做这个网站多少钱
  • 济南网站建设开发周口河南网站建设
  • 做ppt好用的网站有哪些导航wordpress模板下载地址
  • php网站开发实训心得不显示修改的wordpress
  • 云南交投集团公路建设有限公司网站怎么修改网站标题
  • 宁波住房和建设局网站购物网站模板
  • 网站重定向过多广州网站制作怎么做
  • 专门做封面的网站城乡建设厅建设网站
  • 铭坐网站建设小地方的旅游网站怎么建设
  • 长治网上制作网站游戏开发代码
  • 网站建设设计工具广东省白云区
  • 加强网站建设工作上海SEO网站优化推广公司
  • 易语言怎么做网页网站拉新推广怎么找渠道
  • 网站素材大全电子商务+网站建设
  • 重庆找工作的网站龙湖地产 网站建设
  • 河北邯郸seo网站建设网站优化景点旅游网站开发与设计
  • 电子商务网站建设实训 报告网站建设偶像