newint*[mWidth]; creates an array of int*.
So mPtrArray is a pointer to first element of array of pointers to int: pointer ... to pointers to int — int**
using Column = int *;
Column * mPtrArray;
mPtrArray = new Column [mWidth];
for(unsignedint i = 0; i < mWidth; ++i ) {
mPtrArray[i] = newint [mHeight];
}
The mPtrArray points to an array of "Columns".
Each column is an array of int.
PS. C/C++ uses "row-major" convention for matrices and thus has "array of rows", unlike the "column-major" semantics of your code.
See http://en.wikipedia.org/wiki/Row-major_order