Just a quick note. If you aren't aware of std::array yet (which you probably aren't), then I recommend you at least get familiar with it here.
It has a number of advantages (knowing its size,...