新闻详情

新闻详情

首页 / 资讯中心 / 详情

深入理解C++ 重载 <九> 重载++运算符

发布时间:2026/10/1 19:47:52来源:尧图网络
深入理解C++ 重载 <九> 重载++运算符
一、为什么运算符需要特殊处理是 C 中唯一连同--同时具有前置和后置两种形式的运算符前置obj—— 先自增再返回自增后的对象后置obj—— 先返回原值再自增编译器无法仅凭函数名区分这两种形式因此 C 规定用参数列表来区分形式重载写法特点前置objoperator()无参数后置objoperator(int)多一个int占位参数哑元那个int参数没有任何实际用途只是为了和前置版本在签名上区分开调用时编译器会自动传0。二、返回值设计的关键区别这是面试和实际编码中最容易出错的地方前置返回引用cppT operator();因为前置是先加后用返回的是对象自身所以返回引用可以避免拷贝也支持链式操作obj。后置返回值临时对象cppT operator(int);因为后置必须返回自增前的旧值而这个旧值是一个局部临时对象函数结束后就销毁了绝不能返回引用否则返回悬空引用。#include iostream class Counter { private: int value; public: // 构造函数 Counter(int v 0) : value(v) {} // 前置 c Counter operator() { value; // 先自增 return *this; // 返回自身引用 } // 后置 c Counter operator(int) { Counter old *this; // 1. 保存旧值拷贝 value; // 2. 自增 return old; // 3. 返回旧值值返回不是引用 } int getValue() const { return value; } }; int main() { Counter c(10); // 测试前置 Counter ref c; std::cout c 后: c c.getValue() , 返回引用 ref.getValue() std::endl; // 测试后置 Counter old c; std::cout c 后: c c.getValue() , 返回旧值 old.getValue() std::endl; return 0; }
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

WZ文件编辑实战:Harepacker resurrected 与 Anchor 锚点调整 2026/10/1 22:26:36

WZ文件编辑实战:Harepacker resurrected 与 Anchor 锚点调整

简介:这是一份面向冒险岛玩家的 WZ 编辑器改版源码包,内容对应 Harepacker-resurrected 项目主线分支。工具以 C# 编写,在原有版本基础上优化了用户界面,并支持修改游戏密钥,可配合密钥数据管理功能处理加密资源&#…

阅读更多 →
2026年度优选GEO优化服务商盘点:聚合AI GEO的语义搜索优化方案,适用于新品上市期的口碑冷启动场景 2026/10/1 22:26:36

2026年度优选GEO优化服务商盘点:聚合AI GEO的语义搜索优化方案,适用于新品上市期的口碑冷启动场景

什么是GEO:生成式AI搜索时代的营销新赛道GEO是Generative Engine Optimization的缩写,中文全称生成式引擎优化,是伴随大语言模型与AI搜索普及诞生的全新营销品类。不同于传统搜索引擎优化围绕网页排名展开,也不同于竞价推广按点击…

阅读更多 →
现代信号处理2020版习题:核心题型与避坑指南 2026/10/1 22:26:36

现代信号处理2020版习题:核心题型与避坑指南

现代信号处理这门课的习题,是那种你盯着答案看半小时也未必能悟出所以然的东西。我前后帮三个不同届的学生过过这套2020版的课后题,也见过至少五种流传版本的手写答案——有的把双线性变换的预畸变环节直接省了,有的在循环卷积长度上取了NN1N…

阅读更多 →
LSTM字符级语言模型实战:用鹿鼎记训练AI续写武侠小说 2026/10/1 22:26:35

LSTM字符级语言模型实战:用鹿鼎记训练AI续写武侠小说

简介:基于金庸《鹿鼎记》全文的 LSTM 文本生成项目,面向自然语言处理入门者、毕设学生或对小说自动续写感兴趣的开发者。项目用爬虫抓取金庸网小说目录及各章节文本,原始语料约 100 万字,演示时截取前 5 万字符,并完成…

阅读更多 →
YOLOv5训练自己的数据集:数据标注与环境配置避坑指南 2026/10/1 22:26:35

YOLOv5训练自己的数据集:数据标注与环境配置避坑指南

1. 从一次“翻车”说起:训练前到底该想清楚什么我第一次拿YOLOv5训练自己的数据集,是做一个小场景的目标检测——现场拍的几百张图片,想让它认几个固定目标。当时心态很轻松,觉得不就是走一遍官方流程:装环境、标数据、…

阅读更多 →
离散数学(本)复习题:分块突破与三遍刷题法 2026/10/1 22:26:29

离散数学(本)复习题:分块突破与三遍刷题法

离散数学(本)这套复习题,我前前后后陪人过了三轮,从最开始自己也被主析取范式的下标绕得头晕,到后来能一眼看出某个关系到底是不是等价关系,中间踩过的坑足够写满两大本草稿纸。这门课有个很鲜明的特点&…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉