Chapter 2. Constructors(构造函数),Destructors(析构函数)与 Assignment Operators(赋值运算符)
作者:Scott Meyers
译者:fatalerror99 (iTePub's Nirvana)
发布:http://blog.csdn.net/fatalerror99/
几乎每一个你自己写的 class(类)都会有一个或多个 constructors(构造函数),一个 destructor(析构函数)和一个 copy assignment operator(拷贝赋值运算符)。不要惊奇,那是些就像你的面包黄油一样的函数,它们控制着基本的操作,如创建一个新的 object(对象)并确保已被初始化,消除一个 object(对象)并确保它被完全清除,以及为 object(对象)赋予一个新值。这些函数中出现错误,将导致你的 classes(类)出现影响深远的,而且令人不快的反弹,所以保证它们正确是生死攸关的事情。本章中,我将对如何组装这些作为一个 well-formed classes(良好的类)的中枢骨干的函数提供一些指导。
本章包括以下内容,点击打开:
Item 5: Know what functions C++ silently writes and callsItem 6: Explicitly disallow the use of compiler-generated functions you do not wantItem 7: Declare destructors virtual in polymorphic base classesItem 8: Prevent exceptions from leaving destructorsItem 9: Never call virtual functions during construction or destructionItem 10: Have assignment operators return a reference to *thisItem 11: Handle assignment to self in operator=Item 12: Copy all parts of an object