When should I define my own copy ctor and assignment operator
<p>I am reading effective C++ in Item 5, it mentioned two cases in which I must define the copy assignment operator myself. The case is a class which contain const and reference members. </p>

<p>I am writing to ask what's the general rule or case in which I must define my own copy constructor and assignment operator?</p>

<p>I would also like to know when I must define my own constructor and destructor. </p>

<p>Thanks so much!</p>
