Due to some responses in my other topic, I've replaced (most of) my C-arrays with std::valarrays, which (like vectors) are properly reference-able without mad voodoo, so consider your advice taken!
I've completely gotten rid of the 2D array after a convincing argument made by Cubbi that the underlying calculations are the same anyway.