дубликация данных в динамических массивах

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Re: дубликация данных в динамических массивах

Сообщение Сквозняк » 01.01.2015 20:58:17

bormant
С такой, что типов динамических массивов стандатных 1-8 байтных переменных всего несколько штук, а статических массивов таких же переменных можно наопределять триллионы. Но раз халявы нет, то сравнивать можно и через функцию, перебирая по одному элементу - компьютеры у нас сейчас мощные, переберут и не заметят. Собственно, вопрос оптимизации сравнения массивов встал из-за пересылки данных между потоками: лишний раз посылать не желательно, вот для оптимизации и приходится проверять, а надо ли вообще пересылать на данном витке цикла.

А хотя, это идея, для пересылки массивов однобайтовых данных можно использовать строки:)
Сквозняк
энтузиаст
 
Сообщения: 1129
Зарегистрирован: 29.06.2006 22:08:32

Re: дубликация данных в динамических массивах

Сообщение kazalex » 01.01.2015 22:23:46

stanilar писал(а):Если динамический массив - это указатель, то для него правильно писать FreeMem.

Динамический массив это не указатель, это динамический массив. Особенности работы с такими массивами описаны в справочной системе, как и другие не менее неочевидные вещи, и их нужно просто знать.
kazalex
постоялец
 
Сообщения: 296
Зарегистрирован: 01.06.2012 14:54:10

Re: дубликация данных в динамических массивах

Сообщение Дож » 12.01.2015 16:37:57

ger0strat писал(а):Если это вызывает такие негодования, то что мешает перегрузить оператор?


Перегрузить оператор мешает то, что «array of T» — это не один тип, а целое семейство типов, параметризованное типом T. А перегрузка операторов для дженериков — уже нетривиальная задача (лично я не умею и не знаю возможно ли это), да и претензий к дженерикам выше крыши.
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 899
Зарегистрирован: 12.10.2008 16:14:47

Re: дубликация данных в динамических массивах

Сообщение Cheb » 28.01.2015 13:11:14

Опаньки :shock: А я всю жизнь думал, что массивы тоже copy-on-write :oops:

Хорошо, что я их никогда не копирую. Если у меня где есть массив - это или поле класса, к которому все обращаются через этот класс, или локальная переменная.
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Пред.

Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

Рейтинг@Mail.ru
cron