27.03.2014, 07:51
|
|
Sir Richard Abramson
|
|
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
|
|
Цитата:
Сообщение от Freeman
Сабжевый вопрос у меня возник после регулярного просмотра форумов по программированию на Паскале/Delphi, где новички или пытаются использовать динамические массивы (не всегда корректно, на мой взгляд), или им советуют их использовать, а библиотеки контейнеров VCL/LCL остаются за рамками советов.
При этом на уровне кода только статические массивы не влекут дополнительных накладных расходов, придавая тип непрерывным блокам памяти, а динамические массивы уже реализованы библиотечными функциями, незаметно вставляемыми компилятором в код. Код этих функций никак не пересекается с реализацией TList и TStrings, там эта функциональность фактически продублирована. Есть подозрение, что это результат работы разных групп программистов, своего рода "придумано не нами" в рамках одной компании, типа ATL и MFC, но в Delphi. Историю не копал, утверждать не могу.
Тем не менее, простой запрет был бы вполне логичен, заставляя для ОО-типов пользоваться ОО-контейнерами. Быдлокода стало бы хоть чуть-чуть меньше, -- и в Интернете, и IRL.
|
|