摘要: 为防止资源泄漏,请使用RAII(Resource Acquisiton Is Initialization) 对象,它们在构造函数中获得资源并在析构函数中释放资源。 两个常被使用的RAII classes 分别是tr1::shared_ptr和auto_ptr。前者通常是较佳选择,因为其copy行为 阅读全文
posted @ 2015-01-30 21:16 智者无惧 阅读(117) 评论(0) 推荐(0) 编辑
摘要: Copying函数应该确保复制“对象内的所有成员变量”及“所有base class成分”。 不要尝试以某个copying函数实现另一个copying函数。应该将共同机能放进第三个函数中,并由两个coping函数共同调用。如果你发现你的copy构造函数和copy assignment操作符有相近的代码 阅读全文
posted @ 2015-01-30 11:34 智者无惧 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 确保当对象自我赋值时operator=有良好行为。其中技术包括比较“来源 对象”和“目标对象”的地址、精心周到的语句顺序、以及copy-and-swap. 确定任何函数如果操作一个以上的对象,而其中多个对象是同一个对象时,其行为仍然正确。 阅读全文
posted @ 2015-01-30 10:29 智者无惧 阅读(119) 评论(0) 推荐(0) 编辑