Учитывая, что вы знаете, что строки всегда имеют по 3 ячейки, вы можете использовать std::array<char, 3>
в качестве типа элемента. std::array
может быть проиндексирован как обычный вектор, но внутри это просто массив в стиле c. Это означает, что нет никаких накладных расходов относительно его использования, и он будет иметь лучшую локальность кэша по сравнению с вектором векторов.
Его также можно создать с помощью списка инициализаторов, например, структуры!
std::vector<std::array<char, 3>> vect;
vect.push_back({'a', 'b', 'c'}); // This works
char c = vect[0][2]; // gets 'c'