Нужен хэлп по массивам - страница 2

 
Anton Pavlov:
Уххх... Для непрограммиста это понять сложно) как прочитал мини-лекцию) а я думал массив это простой объект)

Простой объект (объект, имеющий простой тип) - это тип, не включающий в себя другие типы. В Хелпе МТ4 есть страница "Типы данных", там перечисляются "основные" и "сложные" типы данных. Так вот, простые типы данных - это то, что перечисленно в "основных", кроме строк. Строка - состоит из символов, и имеет переменную длину, поэтому ее сложно назвать "простым" объектом. Кроме того, к простым объектам можно отнести и указатели.

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

 
Victor Nikolaev:
Любой объект может быть сложным или простым. Как к этому подходить. Можно усложнять, можно упрощать. Все зависит от человека

Это точно.

Зачем масив превращать в структуру и... если можно просто на глобальном уровне объявить или статиком сделать.

 
Vasyl Nosal:

Это точно.

Зачем масив превращать в структуру и... если можно просто на глобальном уровне объявить или статиком сделать.

Если надо хранить разные типы включая string, да ещё если их более 4х, а максимально допустимы четырёхмерные массивы, вот тут и вспомнишь о структурах.
 
George Merts:

Простой объект (объект, имеющий простой тип) - это тип, не включающий в себя другие типы. В Хелпе МТ4 есть страница "Типы данных", там перечисляются "основные" и "сложные" типы данных. Так вот, простые типы данных - это то, что перечисленно в "основных", кроме строк. Строка - состоит из символов, и имеет переменную длину, поэтому ее сложно назвать "простым" объектом. Кроме того, к простым объектам можно отнести и указатели.

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

Спасибо, добрый человек. Вот посидишь на сайтах таких, поумнеешь чуть-чуть)
 
Vasyl Nosal:
 

Зачем масив превращать в структуру и... если можно просто на глобальном уровне объявить или статиком сделать.

Для простых случаев, когда у нас один-два массива на весь продукт - можно. В общем случае - это плохая практика. Сильно затрудняется поддержка и модификация продукта, код начинает превращаться в "трудноперевариваемый спагетти-код".

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

Причина обращения: