![]() |
Использование массивов как параметров
В Паскале в качестве формальных параметров процедуры можно указывать массив. Что-то типа:
procedure someproc(a:array of integer); А можно как-нить многомерные массивы использовать в качестве параметров? |
сорри. по ошибке назял на кнопку.
сорри. по ошибке назял на кнопку.
|
Хм, вообще-то использовать вот так как ты написал массив в качестве параметра дюже дорого в плане ресурсов памяти... Обычно делают это все через указатели, т.к. все параметры поднимаются в стек и жрут память, а любой указатель весит ровно 4 байта - есть разница если у тебя в массиве 1000 элеметнов типа BYTE? Ну это так, к слову.... А в чем собственно суть вопроса? Впринципе можно, но только смотря как и где... пиши подробнее.
|
Да знаю я насчет указателей и размеров... Но не важно это, т.к. массивы маленькие, только разных размерностей...
Цитата:
|
Можно даже функцию в качестве формальных параметров запихнуть надо тока тип создать с многомерным массивом иль функцией и усе
|
Если создать свой тип, то массив будет фиксированного размера. Так не катит. А если надо передать несколько массивов, с разной размерностью?
|
Создай класс для работы с массивами опиши там все стандартные процедуры и все будет ок. Я такое в свое время писал, но нарыть описание этого классам не могу в отпуске и вернусь с него тока в сентябре.
|
Класс я и сам смогу написать(хотя классы в Паскале - это извращение). Но я про встроенные возможности спрашивал. Но, кажись, таковых нема... :(
|
Встроенных нема, нужно самому писать... имхо можно на одну функцию (ну или процедуру) вешать различные обработчики в зависимости от размерности через override... кстати ты на торри посмотри, наверняка там уже есть че-нить такое... _http://torry.net
|
| Часовой пояс GMT +4, время: 14:28. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.