new[], или по одному запросу на каждую строку?
В первом случае получается всего одно обращение к выделителю памяти, что вроде быстрее, но во втором более мелкими кусочками, так что уменьшается фрагментация памяти, и больше вероятность, что такой кусочек найдётся, и в долгосрочной перспективе это более быстрое нахождение этих самых кусочков.
ещё есть вариант сделать два массива, один под сами элементы, а второй под указатели на сектора с элементами, чтобы в коде вместо постоянного cols * row + col делать [row][col]
element& operator()(int row, int col) это уже неправославно?
а не с 23 стандарта?
с него, да. Правда, если верить https://en.cppreference.com/w/cpp/compiler_support/23, там нынче какой-то цирк с поддержкой - собственно P2128R6 поддерживается в Clang и GCC, но не в MSVC, но зато что не помешало майрософтам единственным реализовать хоть какой-то (без оператора []?) mdspan O_o
Обсуждают сегодня