I have a constructor that allocates several blocks of memory using the new operator.
X::X() {
a = new int[100];
b = new char[100];
c = new float[100];
}
My question is, if the allocation of c fails, and the constructor throws an exception, will the memory for a and b be automatically freed?