关闭

【C++深入探索】Copy-and-swap idiom详解和实现安全自我赋值

任何管理某资源的类比如智能指针需要遵循一个规则(The Rule of Three): 如果你需要显式地声明一下三者中的一个:析构函数、拷贝构造函数或者是拷贝赋值操作符,那么你需要显式的声明所有这三者。 拷贝构造函数和析构函数实现起来比较容易,但是拷贝赋值操作符要复杂许多。 它是怎么实现的?我们需要避免那些误区? 那么Copy-and-swap就是完美的解决方案。而且可以很好地帮助拷贝赋值...
阅读(4748) 评论(2)

设计模式之组合模式(Composite Pattern)

作用: 将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性。 UML结构图: 抽象基类: 1)Component:为组合中的对象声明接口,声明了类共有接口的缺省行为(如这里的Add,Remove,GetChild函数),声明一个接口函数可以访问Component的子组件. 接口函数: 1)Compo...
阅读(1376) 评论(0)

【C++】类的成员初始化表与构造函数内赋值操作

我们常常在初始化类数据成员的时候,对使用初始化表和在构造函数中十分困惑,这二者有什么区别呢?我们应该如何选择呢? 先举个简单的例子,看下面的两段代码: 代码A: inline Account::Account(const char* name,doubl opening_bal) ::_name(name), _balance(opening_bal) { _a...
阅读(3618) 评论(3)
    个人资料
    • 访问:1642014次
    • 积分:13769
    • 等级:
    • 排名:第867名
    • 原创:122篇
    • 转载:15篇
    • 译文:6篇
    • 评论:921条
    博客专栏
    公告
    博客已迁移至:http://xiajunhust.github.io/