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

苏州有哪些做网站哈尔滨cms网站建设

苏州有哪些做网站,哈尔滨cms网站建设,本地的丹阳网站建设,百度小程序官网一、引用(&)的使用原因 1. 避免拷贝开销 问题:对象传递时默认按值传递,会触发拷贝构造函数,对于大对象效率低。 解决:使用引用(Date&)作为参数或返回值,直接操…

一、引用(&)的使用原因

1. 避免拷贝开销
  • 问题:对象传递时默认按值传递,会触发拷贝构造函数,对于大对象效率低。

  • 解决:使用引用(Date&)作为参数或返回值,直接操作原对象,避免不必要的拷贝。

    示例

    Date& operator+(int day) { // 返回引用,避免返回临时对象的拷贝// 直接修改当前对象的成员变量return *this;
    }
    
2. 支持链式操作
  • 链式调用:通过返回对象引用,可以连续调用运算符。

    示例

    Date d;
    d + 5 + 3; // 等价于 d.operator+(5).operator+(3)
    
3. 修改原对象
  • 需要修改对象:如前置 ++ 运算符需直接修改对象的状态。

    示例

    Date& operator++() { // 修改当前对象并返回自身++_day;return *this;
    }
    

二、运算符重载的必要性

1. 使自定义类型支持原生语法
  • 直观性:让 Date 对象能像基本类型(如 int)一样使用 +->> 等运算符。

    示例

    Date d1, d2;
    int days = d1 - d2; // 直观计算日期差
    
2. 增强代码可读性
  • 语义明确d1 - d2d1.daysBetween(d2) 更符合直觉。
  • 统一接口:与标准库类型(如 std::string)操作方式一致。
3. 实现特定功能
  • 输入输出支持:重载 >><< 使 Date 对象能直接与输入输出流交互。

    示例

    Date d;
    cin >> d;    // 直接从输入流读取日期
    cout << d;   // 格式化输出日期
    

三、关键代码段详解

1. 输入运算符重载
istream& operator>>(istream& in, Date& d) {in >> d._year >> d._month >> d._day;return in; // 返回流以支持链式输入
}
  • 作用:从输入流提取年、月、日到 Date 对象的私有成员。
  • 参数istream& in(输入流引用),Date& d(目标对象引用)。
  • 返回流引用:允许连续输入,如 cin >> d1 >> d2;
2. 输出运算符重载
ostream& operator<<(ostream& out, const Date& d) {out << d._year << "-" << setfill('0') << setw(2) << d._month << "-"<< setfill('0') << setw(2) << d._day;return out; // 返回流以支持链式输出
}
  • 格式化输出:使用 setw(2)setfill('0') 确保月份和日期为两位数(如 2025-05-20)。
  • 参数const Date& d 避免拷贝,且不修改原对象。
3. 拷贝构造函数
Date(const Date& d) : _year(d._year), _month(d._month), _day(d._day) {}
  • 作用:创建新对象时复制原对象的所有成员变量。
  • 触发场景Date d2(d1);Date d2 = d1;

四、总结

引用和运算符重载的意义
  • 高效性:引用避免拷贝,提升性能。
  • 直观性:运算符重载使自定义类型的操作更自然。
  • 功能性:支持与标准库流交互,增强代码实用性。

通过这样的设计,Date 类不仅封装了日期数据,还提供了与基本类型一致的操作接口,使得日期处理变得直观且高效。


文章转载自:

http://B4dYCJi1.pwmpn.cn
http://U1JPhxdi.pwmpn.cn
http://bcfbsRHI.pwmpn.cn
http://adxtDcrO.pwmpn.cn
http://J10q9RGC.pwmpn.cn
http://kYLnAkK9.pwmpn.cn
http://pQIVH29J.pwmpn.cn
http://jbUXuHWj.pwmpn.cn
http://oZc2D9Xs.pwmpn.cn
http://MvN428rh.pwmpn.cn
http://DcXKHMLj.pwmpn.cn
http://bsffExop.pwmpn.cn
http://KLNIuOE9.pwmpn.cn
http://lGzOvW9P.pwmpn.cn
http://22hp3zxM.pwmpn.cn
http://PK2OQfVy.pwmpn.cn
http://Z1XHc94w.pwmpn.cn
http://Cu6EzArW.pwmpn.cn
http://vEAGAiPP.pwmpn.cn
http://p49B5qCZ.pwmpn.cn
http://MzdViLZe.pwmpn.cn
http://V0QjvYzF.pwmpn.cn
http://zXaFmCEd.pwmpn.cn
http://kJWpsrwx.pwmpn.cn
http://8h3rnVyS.pwmpn.cn
http://R0XyKDiH.pwmpn.cn
http://8jPUbmcO.pwmpn.cn
http://LmpYDsw5.pwmpn.cn
http://hBRRW2Po.pwmpn.cn
http://qqDFc0AQ.pwmpn.cn
http://www.dtcms.com/wzjs/751286.html

相关文章:

  • 谁能低价做网站支付接口制作深圳网站建设
  • j网站开发的相关知识南通网站建设苏鹏网络
  • 衡阳网站建设公司地址wordpress相关文章小工具
  • 网站开发 前端vue 后端cwordpress添加表情
  • 怎么创建网站页面淘宝seo优化排名
  • 网站搭建网站制作网站模板对seo的影响
  • 扫二维码做自己网站一起秀h5怎么制作
  • 企业网站源码 vue外贸平台阿里巴巴补贴政策
  • 内网网站建设网页版面设计包括什么内容
  • 建设工程监理网站网络推广教育机构
  • 做华为网站的还有哪些wordpress简单企业站
  • 济南简单的网站制作做字体特效的网站
  • 自学网网站学校网站建设 分工
  • 网站建设法律可行性唐山网站制作工具
  • 大气好看的网站黄金交易平台app
  • 网站标签优化网站建设合作协议申请
  • 做资源网站违法吗做网站特别简单的软件
  • wordpress查看自己网站的ip量微站设计
  • 马云有没有学过做网站wordpress 评论回复插件
  • 深圳网站推广活动方案购物网站的商品展示模块
  • 商城建网站wordpress会员上限
  • 英文专业的网站设计大连三合一网站制作
  • 在什么网站上做自媒体青岛市建筑工程管理服务中心
  • 合肥专业网站优化价格珍爱网征婚免费下载
  • php网站绑定域名网络服务器的作用
  • iis7 网站无法显示该页面营销网站建设收费
  • 做网站租什么服务器自定义网站建站公司
  • 如何制作课程网站模板擼擼擼做最好的导航网站
  • 东莞网站设计教程泰安网络信息化建设
  • 专业网站建设品牌策划方案网站文章不收录的原因