Какой наиболее удобный (автоматизированный, простой) способ работы с двумерными динамическими массивами (матрицами) в С++?
Допустим нужно активно работать с математическими матрицами, или просто с двумерными массивами n*m (n и m не изменяются в течении жизни матрицы, то есть не надо ресайзить).
Задача тривиальная и использовать простейшие С/С++ "массив массивов", "массив указателей на массивы", где выделение, обнуление, удаление через вложенные циклы - делать не хочется.
Наверняка как-то это уже реализованно/упрощено с помощью стл или буст или чего-то еще.
Беглый гугл выдает статьи для студентов по основам С++ где как раз такими элементарными вещами занимаются.
Знающие люди, пожалуйста подскажите как нынче в С++ это наиболее просто реализовать.
Тоесть нужно упростить обслуживание жизненого цикла двумерного массива произвольных размеров (выделение, обнуление, удаление из памяти). что-то типа чтобы можно было сказать вот эта переменная - двумерный массив, доступ к значениями по скобкам [][] либо через метод класса get/set_Value(index n,index m) (мне подойдет любой), желательно чтобы встрено обнуление или заполнение каким-то значением, и с удалением также - удалить память выделенную под эту переменную (чтобы не заморачиваться самому пробегом по массиву указателей).
Еще желательно чтобы был какойто доступ до размеров n*m, чтобы они хранились как-то вместе с этой переменной или какая-то функция/метод могли их выцепить (чтобы вручную не таскать размеры матрицы, например в функцию).
ну вообще можно писать всё собственными велосипедами, только зачем это делать когда есть уже крутые, продуманные и быстрые решения для которых писать ничего не надо а просто глянул доку и начал использовать
Artem: Если вам действительно нужны операции с матрицами - да, там математика посложнее, и это оправдано. Судя по тому, что вы отметили два таких решения, как ответы - это так.
Если же нужен просто двумерный массив, как можно было понять из вашего вопроса - то уж такие-то простые вещи можно и не искать в чужих библиотеках.
Artem: Ну, когда программист пишет что-то сам только после того, как не смог найти хоть что-нибудь хоть как-нибудь подходящее, на выходе обычно получается монстр из говна и палок. Самому автору мало подконтрольный.