Dmitry Fedoseev: Больше 4-ех измерений здесь не бывает у массивов. Так что, можно 4-ре разных функции написать и все.
Можно вообще не пользоваться массивами с размерностью больше 1, а если нужно манипулировать чем-то с разными полями, то использовать массив структур или список объектов. Я лично так всегда и делаю, когда пишу что-то сам. Но в чужом коде, с которым тоже приходится сталкиваться, попадаются и такие варианты, как многомерный массив. И вот тут начинается самое веселое...
Или же с защитой от дурака, так, что бы разумность параметров проверялась и корректировалась? Тут понимаешь, что быстрый вариант не достоин коллекции, потому что его и так легко написать и он из себя ничего полезного не представляет. А вариант со всеми проверками хорошо только как музейный экспонат, потому что практически не нужны лишние тормоза. И поэтому - ну его нафик.
Aliaksandr Hryshyn: Я имею ввиду, что нужный массив/массивы надо определять в классе, а функции передавать экземпляр данного класса.
Если так подходить к задаче, то многомерные массивы вообще объявлять не нужно - вместо них нужно использовать массивы структур с разными полями. Но вопрос ставится иначе - что мы можем сделать с уже имеющимся как данность массивом произвольной (неизвестной заранее) размерности
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Разве есть проблемы с определением размерности?
С определением нет. Проблемы есть с получением массивов разной размерности в качестве параметра функции.
С определением нет. Проблемы есть с получением массивов разной размерности в качестве параметра функции.
Больше 4-ех измерений здесь не бывает у массивов. Так что, можно 4-ре разных функции написать и все.
Можно вообще не пользоваться массивами с размерностью больше 1, а если нужно манипулировать чем-то с разными полями, то использовать массив структур или список объектов. Я лично так всегда и делаю, когда пишу что-то сам. Но в чужом коде, с которым тоже приходится сталкиваться, попадаются и такие варианты, как многомерный массив. И вот тут начинается самое веселое...
Используйте классы для таких вещей. В функцию передавайте экземпляр класса с разными массивами...
Попробуйте определить такой класс, чтобы вызов функции применимо к массиву разной размерности выглядел одинаково.
Нормальные вопросы, Вы зря то что в скобках в названии ветки написано проигнорировали. Не зная число элементов - можно. Не зная размерности - нельзя.
Открою страшную тайну. Массив одномерный. Любой. Я ведь уже говорил...
Открою страшную тайну. Массив одномерный. Любой. Я ведь уже говорил...
И какое по Вашему это имеет отношение к поставленной задаче (классу задач - унифицированная работа с массивами разной размерности через функции)?
Попробуйте определить такой класс, чтобы вызов функции применимо к массиву разной размерности выглядел одинаково.
Интересный феномен...
Когда садишься писать какую-нибудь функцию себе в коллекцию возникает вопрос, а как лучше - так, что быстро работало (без проверок):
Или же с защитой от дурака, так, что бы разумность параметров проверялась и корректировалась? Тут понимаешь, что быстрый вариант не достоин коллекции, потому что его и так легко написать и он из себя ничего полезного не представляет. А вариант со всеми проверками хорошо только как музейный экспонат, потому что практически не нужны лишние тормоза. И поэтому - ну его нафик.
Я имею ввиду, что нужный массив/массивы надо определять в классе, а функции передавать экземпляр данного класса.
Если так подходить к задаче, то многомерные массивы вообще объявлять не нужно - вместо них нужно использовать массивы структур с разными полями. Но вопрос ставится иначе - что мы можем сделать с уже имеющимся как данность массивом произвольной (неизвестной заранее) размерности