- может хранить двумерную матрицу необработанных указателей
- Сохраняет информацию о размере матрицы, чтобы ее можно было запросить позже
Если есть больше типов, соответствующих требованиям, я ищу вариант с наименьшими затратами (копирование – наиболее важная операция).
Контекст:
Переменная будет представлять игровое поле. Игра похожа на шашки, доска представляет собой матрицу MxN. Я собираюсь реализовать игрока с искусственным интеллектом, которому потребуется искать в дереве игры, поэтому я буду много работать с доской. Мне нужно будет быстро скопировать, изменить его, получить доступ к его элементам и т. д.
Тип, представляющий одну клетку, будет необработанным указателем на класс Player (т. е. игрока, чья фигура находится на Square или NULL, если квадрат пуст).
Пока std::mdspan и boost::multi_array кажутся хорошими кандидаты, но я ищу других варианты.
Подробнее здесь: https://stackoverflow.com/questions/792 ... game-board