Dynamic Arrays in C++: the new operator