Anton Pavlov: Уххх... Для непрограммиста это понять сложно) как прочитал мини-лекцию) а я думал массив это простой объект)
Простой объект (объект, имеющий простой тип) - это тип, не включающий в себя другие типы. В Хелпе МТ4 есть страница "Типы данных", там перечисляются "основные" и "сложные" типы данных. Так вот, простые типы данных - это то, что перечисленно в "основных", кроме строк. Строка - состоит из символов, и имеет переменную длину, поэтому ее сложно назвать "простым" объектом. Кроме того, к простым объектам можно отнести и указатели.
Суть моего поста в том, что функция должна возвращать только простые объекты. Возврат функцией сложных объектов опасен тем, что сложно отследить, когда эти объекты создаются, когда копируются, и когда удаляются.
Зачем масив превращать в структуру и... если можно просто на глобальном уровне объявить или статиком сделать.
Если надо хранить разные типы включая string, да ещё если их более 4х, а максимально допустимы четырёхмерные массивы, вот тут и вспомнишь о структурах.
Простой объект (объект, имеющий простой тип) - это тип, не включающий в себя другие типы. В Хелпе МТ4 есть страница "Типы данных", там перечисляются "основные" и "сложные" типы данных. Так вот, простые типы данных - это то, что перечисленно в "основных", кроме строк. Строка - состоит из символов, и имеет переменную длину, поэтому ее сложно назвать "простым" объектом. Кроме того, к простым объектам можно отнести и указатели.
Суть моего поста в том, что функция должна возвращать только простые объекты. Возврат функцией сложных объектов опасен тем, что сложно отследить, когда эти объекты создаются, когда копируются, и когда удаляются.
Спасибо, добрый человек. Вот посидишь на сайтах таких, поумнеешь чуть-чуть)
Зачем масив превращать в структуру и... если можно просто на глобальном уровне объявить или статиком сделать.
Для простых случаев, когда у нас один-два массива на весь продукт - можно. В общем случае - это плохая практика. Сильно затрудняется поддержка и модификация продукта, код начинает превращаться в "трудноперевариваемый спагетти-код".
Необходимо придерживаться разграничения прав доступа, а значит, по возможности, избегания глобальных переменных.
Уххх... Для непрограммиста это понять сложно) как прочитал мини-лекцию) а я думал массив это простой объект)
Простой объект (объект, имеющий простой тип) - это тип, не включающий в себя другие типы. В Хелпе МТ4 есть страница "Типы данных", там перечисляются "основные" и "сложные" типы данных. Так вот, простые типы данных - это то, что перечисленно в "основных", кроме строк. Строка - состоит из символов, и имеет переменную длину, поэтому ее сложно назвать "простым" объектом. Кроме того, к простым объектам можно отнести и указатели.
Суть моего поста в том, что функция должна возвращать только простые объекты. Возврат функцией сложных объектов опасен тем, что сложно отследить, когда эти объекты создаются, когда копируются, и когда удаляются.
Любой объект может быть сложным или простым. Как к этому подходить. Можно усложнять, можно упрощать. Все зависит от человека
Это точно.
Зачем масив превращать в структуру и... если можно просто на глобальном уровне объявить или статиком сделать.
Это точно.
Зачем масив превращать в структуру и... если можно просто на глобальном уровне объявить или статиком сделать.
Простой объект (объект, имеющий простой тип) - это тип, не включающий в себя другие типы. В Хелпе МТ4 есть страница "Типы данных", там перечисляются "основные" и "сложные" типы данных. Так вот, простые типы данных - это то, что перечисленно в "основных", кроме строк. Строка - состоит из символов, и имеет переменную длину, поэтому ее сложно назвать "простым" объектом. Кроме того, к простым объектам можно отнести и указатели.
Суть моего поста в том, что функция должна возвращать только простые объекты. Возврат функцией сложных объектов опасен тем, что сложно отследить, когда эти объекты создаются, когда копируются, и когда удаляются.
Зачем масив превращать в структуру и... если можно просто на глобальном уровне объявить или статиком сделать.
Для простых случаев, когда у нас один-два массива на весь продукт - можно. В общем случае - это плохая практика. Сильно затрудняется поддержка и модификация продукта, код начинает превращаться в "трудноперевариваемый спагетти-код".
Необходимо придерживаться разграничения прав доступа, а значит, по возможности, избегания глобальных переменных.