ML5? ну почему так надо передавать двумерные (многомерные) массивы в функции?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Evgeniy Kvasov
972
Evgeniy Kvasov  

Сразу скажу, не профи прогер и в ньюансах просьба не придираться)))) но...

Периодически сталкиваюсь с проблемой передачи многомерных массивов в функции. Так возникает вопрос по мкл5, зачем надо ЯВНО обозначать размерности массивов выше первого? Иногда неизвестно какой именно размерности массив придет в функцию и проще указать все размеры отдельными переменными. кому как удобнее.

Понятно что можно создать структуру внутри которой массив. и делать любые хоть треугольные)), но...... нет указателей, по ссылкам надо указывать размерность... ЗАЧЕМ?!!!

Ситуация, просто была программа в которой есть уже написанный некий массив 2 мерный. И тут понадобилось добавить еще один параметр и все......... переписывай все вызовы и зачем?

Не помню точно но в 4-ке такого не возникало помоему. Застал ее краем уха. 

ИМХО: или указатели ввести надо. Ну а потом контролировать выходы за пределы пользовательских массивов или неявно передавать размерности и опять же... контролировать. Чтобы терминал не рюхался. Как-то по-корякски просто навояли. Сообщество что думает. Или пофих?)

Georgiy Merts
9189
Georgiy Merts  

Указатели на массивы, конечно, нужны. Но разработчики - не хотят их вводить, мол, "народ может массив удалить, а указатель останется".

Так что насчет структуры - ты прав, только зачем останавливаться на структуре ?

Создавай класс, в который пихай массив, и функции для работы с ним, в том числе запрос количества измерений. А потом - передавай указатель на этот объект.

Evgeniy Kvasov
972
Evgeniy Kvasov  
George Merts:

Указатели на массивы, конечно, нужны. Но разработчики - не хотят их вводить, мол, "народ может массив удалить, а указатель останется".

Так что насчет структуры - ты прав, только зачем останавливаться на структуре ?

Создавай класс, в который пихай массив, и функции для работы с ним, в том числе запрос количества измерений. А потом - передавай указатель на этот объект.


)))) Понятно что можно изголиться классами или еще чем. Периодически и думаю я не один такой, возникает просто потребность добавить или убрать размер какого-нибудь измерения. Ну вот не думал классом оформлять, но результат не устроил. Для биржи же пишем а не на бейсике линии рисуем, тут постоянно что то, да не так. И капец, переписывай))) Или вот пример. Надо сделать простую функцию сортировки массива разного размера (двумерный) если первое еще пофиг, то второе... тут уже хоть пиши кучу функций под разное количетво переменных во втором измерении.... Да имхо куча примеров. Удалили и забыли (народ в смысле) )))) Нормальный подход.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий