Effective C++ 条款10
2015-06-23 08:23
411 查看
令operator=返回一个reference to *this
将operator=返回一个reference是为了什么呢?答案很简单,就是为了实现连锁形式。什么是连锁形式,如int x,y,z;x=y=z=15;这种形式就是连锁形式。
声明一下。这只是个大家一致同意的写法。你也可以不遵守这种写法。可是无论是内置类型还是标准库的类型,都遵循这条规则。为了达到程序的一致性,也是遵守的比较好。
以下是涉及的代码:
#include<iostream> using namespace std; class Widget { public: Widget() { cout<<"Default Ctor"<<endl; } Widget(const Widget& rhs) { cout<<"Copy Ctor"<<endl; } Widget& operator=(const Widget& rhs) { cout<<"operator="<<endl; return *this; } }; int main() { Widget a,b,c; a=b=c; return 0; }
相关文章推荐
- C语言中%*的含义和用法
- c++ 使用xerces读取XML
- 黑马程序员---C语言概述以及入门基础
- C++ 成员函数返回引用,三种获取返回值的效果
- C语言实现HashTable(PHP源码实现)
- 详解C/C++中的typedef和#define
- C语言及程序设计进阶例程-32 位运算及其应用
- C语言及程序设计进阶例程-30 联合体及其应用
- C语言及程序设计进阶例程-29 枚举类型及其应用
- C语言及程序设计进阶例程-28 动态规划法问题求解
- C语言及程序设计进阶例程-27 贪心法问题求解
- C语言及程序设计进阶例程-26 回溯溯法问题求解
- C语言及程序设计进阶例程-25 排序问题及其求解
- C语言及程序设计进阶例程-24 查找问题及其求解
- 堆排序算法学习(C++代码)
- C语言-统计一行句子中单词的个数
- 将一个二维数组行和列的元素互换,存到另一个二位数组中
- C语言回顾(八、结构体,联合/共用体,枚举)——iOS开发基础
- C++文件读写详解(ofstream,ifstream,fstream)
- 黑马程序员--C语言关键字,注释