Effective C++ Item11 Note
来源:互联网 发布:macbook视频制作软件 编辑:程序博客网 时间:2024/05/20 00:35
//Effective C++ Item11 在operator=中处理自我赋值#include<iostream>#include<cstring>using namespace std;class Bitmap{};class Widget{public:Widget& operator=(const Widget& rhs){//*this和rhs有可能是同一个对象,此时pb将错误地指向一个已被删除的对象,因此需要做证同测试if (this == &rhs)return *this;//考虑异常安全性,如果new Bitmap导致异常(不论是因为分配时内存不足或因为Bitmap的copy构造函数抛出异常),pb将指向一块被删除的Bitmap//因此应该在new Bitmap成功之后再delete原来指向的内存Bitmap* pOrig = pb;pb = new Bitmap(*rhs.pb);delete pOrig;return *this;}private:Bitmap*pb;};
0 0
- Effective C++ Item11 Note
- Effective Objective-C: Item11 Understand Role of obj_msgSend笔记
- 《Effective C++》 Reading Note 1
- 《Effective C++》 Reading Note 2
- 《Effective C++》 Reading Note 3
- 《Effective C++》 Reading Note 4
- Effective C# Item11:优先采用foreach循环语句
- Effective C++ Item02 Note
- Effective C++ Item03 Note
- Effective C++ Item04 Note
- Effective C++ Item05 Note
- Effective C++ Item06 Note
- Effective C++ Item07 Note
- Effective C++ Iem08 Note
- Effective C++ Item09 Note
- Effective C++ Item12 Note
- Effective C++ Item13 Note
- Effective C++ Note
- iOS疯狂详解之TableView以及TableViewCell背景设置
- 【BZOJ】【P2893】【征服王】【题解】【缩点费用流】
- 点击PopupWindow 外部区域消失
- 怎样开始冥想(上)
- 深入java--String(正则表达式)
- Effective C++ Item11 Note
- Maven学习笔记002——Maven的安装和配置
- 怎样开始冥想(下)
- DoModal
- HDOJ 5139 Formula 离线
- centos yum update 指定版本 6.4 to 6.5
- 数据结构c++ 随堂笔记2
- Android广播机制(两种注册方法)与 中断广播
- 第16周 项目2-用指针玩字符串(str1和str2连接后结果存放到str1中)