Как правильно выделять и управлять многомерными массивами с помощью динамического выделения памяти в C++ с `new`, учитывая разные сценарии — когда размеры известны на этапе компиляции, когда прямоугольные матрицы определяются во время выполнения, и когда массивы имеют неправильную форму с разными длинами строк? — ДейлиПреп