Ответ 1
Подумайте о массиве ячеек как регулярном гомогенном массиве, элементами которого являются все cell
s. Скобки (()
) просто обращаются к объекту-оболочке cell
, а доступ к элементам, использующим фигурные наручи ({}
), дает фактический объект, содержащийся внутри ячейки.
Например,
A={ [5,6], 0 , 0 ,0 };
Будет выглядеть так:
Синтаксис создания элемента, равного []
с круглыми скобками, на самом деле является запросом на удаление этого элемента, поэтому, когда вы просите сделать foo(i) = []
, вы удаляете i-ю ячейку. Это не операция присваивания, а скорее операция RemoveElement
, которая использует аналогичный синтаксис для присваивания.
Однако, когда вы делаете foo{i} = []
, вы назначаете i-й ячейке новое значение (которое представляет собой пустой массив), тем самым очищая содержимое этой ячейки.