C++之返回值为reference引用的情况---补充(6)《Effective C++》
来源:互联网 发布:淘宝美德威萨克斯 编辑:程序博客网 时间:2024/06/02 04:50
上篇博客中我们讲了返回一个reference对象可能会出错或者效率特别低,那有没有比较适合返回reference引用的情况呢?下面我们就来总结一下类型:
1)函数返回值用引用,参数传递进去也用引用:
int& hel(int& t){ return t;}
2)函数返回值用引用,参数传递用指针
int& hel(int *t){ return *t;}
3)返回函数内部的数据:
- copy assignment运算符
class A{public: A(int xx) :x(xx){ } A(){ } int getX() const{ return x; }; void show(){ cout << x << endl; } A(const A&a){ this->x = a.x; } A& operator=(const A& a){ this->x = a.x; return *this; }private: int x;};
- 内部数据
class Point{public: Point(int x,int y); ... void setX(int newVal); void setY(int newVal); ...};struct RectData{ Point ulhc; Point lrhc;};class Rectangle{public: ... Point& upperLeft()const { return pData->ulhc; } Point& lowerRight()const{ return pData->lrhc; }private: Rectangle pData;};
上述两种情况比较适合返回引用,效率比返回对象效率高!
参考博客:http://www.cnblogs.com/lionfight/archive/2012/07/22/2603865.html
阅读全文
0 0
- C++之返回值为reference引用的情况---补充(6)《Effective C++》
- C++之函数返回局部变量的初级探索---补充(3)《Effective C++》
- C++之值传递、指针传递和引用传递---补充(4)《Effective C++》
- C++之必须返回对象时候,别妄想返回其reference(21)---《Effective C++》
- C++之通过引用(reference)捕获异常(12)---《More Effective C++》
- C++之令operator=返回一个reference to *this(10)---《Effective C++》
- [翻译] Effective C++, 3rd Edition, Item 10: 让 assignment operators(赋值运算符)返回一个 reference to *this(引向 *this 的引用)
- [翻译] Effective C++, 3rd Edition, Item 21: 当你必须返回一个 object(对象)时不要试图返回一个 reference(引用)(上)
- [翻译] Effective C++, 3rd Edition, Item 21: 当你必须返回一个 object(对象)时不要试图返回一个 reference(引用)(下)
- Effective C++(10) 重载赋值操作符时,返回该对象的引用(retrun *this)
- C++之关于static关键字的充电---补充(7)《Effective C++》
- C++之指针数组和数组指针的区别---补充(9)《Effective C++》
- C++之数组名和指针的区别---补充(10)《Effective C++》
- C++之创建自定义类型的数组---补充(17)《Effective C++》
- 【Effective C++】必须返回对象时,别妄想返回引用
- c++ 重载为返回值对象以及引用的情况
- 必须返回对象时,别妄想返回引用(Effective C++_21)
- 函数返回值为引用、非引用及引用左值的情况
- 关注民生民情——华北水利水电大学“情艺”国情社情调查
- 对Spark中Broadcast的理解
- OpenGL 常用 API
- iOS学习笔记-084.粒子效果——路径移动
- 定时执行任务的3种实现方法:
- C++之返回值为reference引用的情况---补充(6)《Effective C++》
- Python起步之图形编程(一)
- 循环神经网络
- 笔记2:结构体的概述与使用
- 【脚本语言系列】关于Python基础知识装饰器,你需要知道的事
- 血管疼#6
- 深入学习consul
- 【NIO总结】—NIO中的通道
- 保存bitmap 图片路径