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

浙江网站建设而o2o商城网站搭建

浙江网站建设而,o2o商城网站搭建,南昌手机建站模板,注册公司流程2021一、什么时候需要使用引用形参呢? 1、需要改变传入参数的值,如swap(int & a, int & b);我们的目的是交换传入参数的值,如果不使用引入形参,如swap(int a,int b),那么该函数将按值传递,并不会实际改…

一、什么时候需要使用引用形参呢?

1、需要改变传入参数的值,如swap(int & a, int & b);我们的目的是交换传入参数的值,如果不使用引入形参,如swap(int a,int b),那么该函数将按值传递,并不会实际改变传入参数的值,所以这种情况需要使用引用形参;
2、节约内存和加快速度,对于基本类型可以不用使用引用参数,但是对于结构、数组或者较为复杂的类对象,使用引用参数可以避免传参时创建值相同的临时变量,而是直接使用引用的变量;

二、为什么应尽可能将引用形参声明为const呢?

1、需要改变传入参数的值的时候,不能声明为const;
2、不需要改变传入参数的值的时候,我们想要的效果其实和按值传递是一样的;这个时候使用const有三个好处:
2.1 使用const可以避免不小心修改传入的引用变量;
2.2 使用const函数可以使函数能够接收const变量和非const变量,不使用const的话,函数只能接收非const变量;
2.3 使用const可以使得引用形参能够接收临时变量(右值)

三、自己遇到的问题:

//Add.h
#ifndef ADD_H_
#define ADD_H_
class Add
{double a;
public:Add();Add(double m);Add operator+(Add & d) const;//reload +//friend Add operator+(Add & a, Add & b); //friend;//operator double() const; // transform 
};
#endif

可以看到这里重载+运算符的函数 Add operator+(Add & d) const; 这里的引用形参并未加const;

//这个是Add类的方法实现;
#include <iostream>
#include "add.h"Add::Add()
{a = 0.0;
}
Add::Add(double m)
{a = m;
}
Add Add::operator+(Add & d) const
{std::cout << "member func: ";return Add(a+d.a);
}
//Add operator+(Add & a, Add & b)
//{
//    std::cout << "friend func: ";
//    return Add(a.a+b.a);
//}
// Add::operator double() const
// {
//     return a;
// }
// 使用测试Add类
#include "add.h"int main()
{using namespace std;Add a = 1.0;double b = 2.0;Add c = 1.0;Add total;total = a+b; //use member func+Add total_2;total_2 = a+c;return 0;
}

由于为Add类声明重载定义+运算符的时候,引用形参没有使用const ,所以在total=a+b;这行代码就报错了,因为b为double类型,然后因为Add类有Add(double)形式的构造函数,所以a+b这个代码,理想的情况是这里会将b转为Add类型(会创建一个Add类型的临时变量),然后做Add类的加法运算,但是由于前面提到的引用形参没有使用const ,所以这里的临时变量没法传给函数;加上const即可;


文章转载自:

http://sIof3FO3.ysgnb.cn
http://3C078jsD.ysgnb.cn
http://f6nzG1sQ.ysgnb.cn
http://LEdxFcmJ.ysgnb.cn
http://eAGM7bGC.ysgnb.cn
http://sGci8OtD.ysgnb.cn
http://Cax0sHSt.ysgnb.cn
http://YdHnHsCQ.ysgnb.cn
http://DalrmW3l.ysgnb.cn
http://cbGTu31U.ysgnb.cn
http://MCcmWUWC.ysgnb.cn
http://Dh9ke6rJ.ysgnb.cn
http://BOUsuX8I.ysgnb.cn
http://AdkqzH1P.ysgnb.cn
http://J0W3LxTq.ysgnb.cn
http://EbFUnqI4.ysgnb.cn
http://zWDOGTpN.ysgnb.cn
http://O5AjK4sd.ysgnb.cn
http://tql1a0Av.ysgnb.cn
http://CiMY2io5.ysgnb.cn
http://iaO5zKYY.ysgnb.cn
http://JlF0q7yL.ysgnb.cn
http://D2LJ5XF1.ysgnb.cn
http://q8fLc7lk.ysgnb.cn
http://RjQ1yulv.ysgnb.cn
http://dkKV0wuF.ysgnb.cn
http://u4VLEUy6.ysgnb.cn
http://nLqWXrse.ysgnb.cn
http://TFGi0OnJ.ysgnb.cn
http://cHPSNiNC.ysgnb.cn
http://www.dtcms.com/wzjs/719606.html

相关文章:

  • 怎么轻松搭建自己的网站公司做网站费用入什么科目
  • 比较好看的网站设计Wordpress公网
  • 国内优秀网站网站正在建设源代码
  • 权威的建筑工程网站室内设计网站资源
  • 企业网站建设需要多少钱成都外贸建站平台
  • 国外购物平台企业网站优化问题
  • 创新 反腐倡廉网站建设搜索引擎营销有哪些
  • 国内做网站的顶尖公司南京百家湖网站建设
  • 北京建设制作网站鞍山吧百度贴吧
  • 宁乡电商网站建设收费镭拓网站建设
  • python网站开发环境软件外包公司哪个好
  • 网站建设小程序网站忧化 优帮云
  • 英文医疗网站建设wordpress 同步 博客园
  • 经营者采用过哪几种网络营销方式广安网站seo
  • 网站一直不被百度收录wordpress 评论数量
  • 企业门户网站建设方案怎么写成功的网站不仅仅是优化排
  • 网站推广优化排名seo网站如何做微信支付宝
  • 西城顺德网站建设建网页还是网站
  • 石做视频网站需要牌照做网站如何赢利的
  • 网站建设应当注意哪些问题珠海建站联系方式
  • 微网站好制作吗郑州免费做网站
  • 在国税网站更换购票员怎么做云南住房和城乡建设局网站
  • 嘉陵区建设局网站财政网站平台建设不足
  • 怎么夸一个网站做的好看怎么做自助购物网站
  • 网站建站哪家公司好杭州手机建设网站
  • 做问卷赚钱的网站公司想做个网站应该怎么做
  • 邹平县建设局网站wordpress官方主题下载
  • 网站建设公司包括哪些做招聘网站需要哪些手续
  • 个人微信网站怎么做闵行网站制作
  • 哈尔滨网络公司网站建设wordpress数据库缓存