1,不能重载的操作符:
[list=A]
:: 显然重载它只会使结构更混乱
.* 我觉得应该能够重载才对,毕竟->*是能够被重载的
. 如果允许重载,那么编译器必然会产生混淆:“我是在访问一个成员还是在调用一个重载操作符?”
?: 唯一的三元运算,如果说重载二元运算带来了4的复杂度,那它则会带来9复杂度
[/list]
2,重载操作符必须具有至少一个类类型或枚举类型的操作符,不能重新定义操作内置类型对象的操作符。也就是说操作符是用来扩展C++语言的,而不是用来改变语言的。
3,不要重载具有内置含义的操作符:合成赋值操作符 & , 有短路特征的逻辑操作符
4,类成员与非成员
[list=A]
赋值(=)、下标([])、调用(())、成员访问(->)必须是成员,否则编译报错
与赋值不同,复合赋值不会产生编译错误,可能跟合成赋值操作符(synthesized assignment)有关,编译器需要及早知道合成(synthesize)是否为必须。
改变对象状态的或与给定类型紧密联系的其他一些操作符一般定义为成员
对称的操作,如算术运算,相等,关系,位,最好定义为普通非成员。
[/list]
5,形参和返回值采用传值还是传引用都可以,编译器将重载的操作符当成普通的函数来处理。在返回一个heap对象的reference的时候,它的声明周期很短,并需要手工delete,如果被用在将一个引用和返回的引用绑定起来,那么会产生内存泄漏。
6,
分享到:
相关推荐
第14章 重载操作符与转换 429 14.1 重载操作符的定义 430 14.2 输入和输出操作符 435 14.2.1 输出操作符的重载 435 14.2.2 输入操作符>>的重载 437 14.3 算术操作符和关系操作符 439 14.3.1 相等操作符 440 14.3.2 ...
学习C++的入门书籍,纸质清晰,有目录便于检索,很好的学习文档,分享给大家。
C++ Primer中文版--第四版, 可能已经重复了。这个pdf版本有较详细的目录
清晰可编辑版本,本人亲自根据chm版本制作。
《C++ Primer》 第四版 第十四章 重载操作符与转换 思维导图笔记 超级详细,非常详细,图片版,有利于复习查看
C++ 最新经典入门教程,英文原版
C++Primer4th第四版中文版.pdf 高清版本
非常不错的英文版PDF!C++primer与TheC++ProgrammingLanguage(已上传)被誉为C++界的倚天屠龙!值得一看,本人也在研究,大家可以一起讨论!英文原版的是perfect的!!另有习题解答
C++ Primer Plus 6th CH 编程练习答案
c++ primer第1-16章读书报告,里面讲了c++ primer第五版的各种细节内容,并对之前学习的知识进行了回顾,也有各种举例说明。
C++ Primer Plus - Examples Source Code, 6th Edition.zip 官网下载,完整版,不要积分。
这个是C++Primer 第4版习题解答(完整版)+源码。 C++ Primer 第四版(中英文对照阅读版).chm下载地址:http://download.csdn.net/source/3116404。
C++ 在我多年以来断断续续学了好几遍,之前用《C++ 编程思想》也学过,但那本书过于陈旧了,用《C++ Primer 4th》也学过一段时间,由于书本过于沉溺细节,导致最终没法坚持下来。第五版我去年已经看过一遍了,对于...
C++Primer(第4版)_课后习题答案
C++ Primer, Fourth Edition, provides a comprehensive introduction to the C++ language. As a primer, it provides a clear tutorial approach to the language, enhanced by numerous examples and other ...
C++Primer4th第四版中文版, 这个绝对是学习c++的经典中的经典, 权威之作
C++Primer4th中文,经典之作,学C++必备的书籍。这个版本的电子书还比较好~
该压缩文件包含C++ Primer 4th的pdf版本以及习题解答
本课程是C++ Primer初级教程,课程内容是学习C++语言基础知识,对应着教材的第1章到第8章。 第1章 快速入门 1.1 编写简单的C++程序 1.2 初窥输入/输出 1.2.1 标准输入与输出对象 1.2.2 一个使用IO库的程序 ...
c++ primer 4th answer(完整版)