社区
C语言
帖子详情
运算符重载的前置版和后置版的区别?
mayuhao
2003-03-13 10:28:45
初学,
ESSENTIAL C++ P119:
class Triangular_iterator
{
public:
...
Triangular_iterator& operator++();
Triangular_iterator operator++(int);
...
}
书中对int有解释;
但不懂前者有“&”而后者无的原因
求教,谢谢!!
...全文
95
4
打赏
收藏
运算符重载的前置版和后置版的区别?
初学, ESSENTIAL C++ P119: class Triangular_iterator { public: ... Triangular_iterator& operator++(); Triangular_iterator operator++(int); ... } 书中对int有解释; 但不懂前者有“&”而后者无的原因 求教,谢谢!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mayuhao
2003-03-13
打赏
举报
回复
原来如此
小笨和漂向北方
2003-03-13
打赏
举报
回复
呵呵,前置版本返回的是对象本身,即++后的那个,如++1,返回值是2
而后置版本要求返回是原来的对象,所以必须复制一个临时对象返回,如1++,返回值是1;
class A{
public:
int& operator++( );
int operator++(,int);
private:
int i;
};
int& operator++( ){
return ++i;
}
int operator++(,int){
int temp=i;
++i;
return temp;
}
当返回的是一个对象的话,返回引用可以节省的效率你知道吧?:)
mayuhao
2003-03-13
打赏
举报
回复
对啊,但我不懂的不是int而是&啊
小笨和漂向北方
2003-03-13
打赏
举报
回复
int& operator++( );
int operator++(,int);//后置版本只是多用一个int参数战位,表示后置版本而已:)
C++ 课程作业 多态性
运算符重载
-综合(Point类)
**【问题描述】** 请定义一个Point类,将
前置
++和
后置
++
运算符重载
为成员函数,实现成员变量m_x和m_y的加一操作 同时重载流插入运算符,实现对Point类对象的格式化输出。例如 Point p; cout<
C++ 自增、自减运算符的重载和性能分析小结
01 ++、–
运算符重载
函数的格式 自增运算符和自减运算符是有
前置
和
后置
之分的,如: a++ //
后置
自增运算符 ++a //
前置
自增运算符 b-- //
后置
自减运算符 --b //
前置
自减运算符 为了区分所重载的是
前置
运算符还是
后置
运算符,C++规定:
前置
运算符作为一元
运算符重载
,重载为成员函数的格式如下: T & operator++(); //
前置
自增运算符的重载函数,函数参数是空 T & operator--(); //
前置
自减运算符的重载函数,函数参数是空
后置
运算符作为二元
运算符重载
,多写一个没用的参数,重载为成员函数的个数如下: T operator
朱老师C++第2部分-2.4.C++的
运算符重载
《跟朱老师从C高级到C++》属于系列课程《朱有鹏老师热门编程语言系列》的第一部分,主要针对C++语言完全学习。本课程可以看做是嵌入式linux核心课程中《C语言高级专题》课程的延续,在学了C语言前提下继续深度学习C++语言。整个课程共分为5部分。涵盖了C++基础语法和使用,面向对象,STL与泛型,Boost库和设计模式,C++编程优化技巧等非常广泛的内容,是市面上非常缺少的深度学习C++,培养编程技能和修养的一套系列学习课程。整个课程预计2020年底前录制完成,总时长预计150-200小时。朱老师C++第1部分-从C到C++朱老师C++第2部分-C++和面向对象朱老师C++第3部分-STL等高阶话题朱老师C++第4部分-Boost库和设计模式朱老师C++第5部分-C++编程优化课程特色*零基础可学习,降低学习门槛。*深入浅出,通俗易懂。不怕学不会,就怕你不学习。*思路清晰、语言风趣,对着视频看也不会想睡觉······*视频 + 文档 + 练习题 + 答疑,全方位保证学习质量。*基础知识 + 思路引导的教学方式,授之以鱼更授之以渔。*系列课程。本教程只是入门篇,后续还有更多更精彩视频更新中。
二叉查找树(二分搜索树)的C++方法实现
资源内容:完整的二叉查找树C++头文件,包括<<
运算符重载
,bst类构造器、bst类析构器、destroy()、size()、insert(),迭代器类的声明与实现,++
运算符重载
(
前置
、
后置
)、--
运算符重载
、*
运算符重载
、!=
运算符重载
、begin()、end()、find()、erase()、insertLeaf()、prune()、deleteLink()。(插入节点方法、删除节点的三种情况)。
运算符重载
该程序涉及多种运算符的重载,包括>> << + - = += < <= > >= == !=
前置
++
前置
--
后置
++
后置
--
C语言
69,375
社区成员
243,075
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章