Лично я считаю, что вариант жилета - использовать специализированный класс, который действует как многомерный массив, давая вам преимущества вектора STL (с учетом размера, без неявных преобразований в указатели и т. Д.). Класс Boost multi_array может быть хорошим кандидатом здесь, и в более общем случае, когда вам нужен многомерный массив. Он обрабатывает все странности, обычно связанные с необработанными массивами C ++, без ущерба для производительности.