title: Manage bad_alloc exception in C++ construtor
body: <p>I have Java experience and recently am doing some C++ coding. My question is that if I have class A, in which I have to instantiate class B and class C as two of the member variables of A.</p>
  
  <p>If in the constructor of A, should I assume that allocations of class B and C never fail, and handle the bad allocation exception in the destructor of A? </p>
  
  <p>If I don't make that assumption, meaning that I add some try catch block to catch bad_alloc of class B and class C, then if the allocation exception occurs, should I do clean up in the constructor of A? </p>
  
  <p>What are the recommended practices? If "new" generates a bad allocation, what value does the pointer carry? </p>