Си++: различия между версиями

Содержимое удалено Содержимое добавлено
Нет описания правки
Строка 245:
<font color="blue">sizeof</font>(m) / <font color="blue">sizeof</font>(m[<font color="green">0</font>])
На самом деле, этот метод предпочтительнее, чем прямое указание размера, потому что если вдруг размер массива нужно изменить, то переписать нужно всего одно число при объявлении, вместо того, чтобы ползать по коду, выискивая места, где ещё понадобилось это значение.
 
==== Многомернные массивы ====
 
Одна из самых приятных особенностей языка - возможность создавать массив из массивов (т.н. <i>двухмерные массивы</i>), из таких массивов собрать ещё один массив (тогда получится <i>трёхмерный массив</i>) и т.д. Интуитивно понятно, как это делается:
<font color="blue">int</font> m[<font color="green">5</font>][<font color="green">8</font>];
Такой код генерирует массив из 5 элементов, каждый из которых является массивом из 8 элементов типа <tt>int</tt>. Можно обратиться к любому из 5 подмассивов непосредственно (<tt>m[3]</tt>), либо к конкретному элементу конкретного подмассива (<tt>m[3][7]</tt>). Первый случай, естественно, проходит только для чтения, поскольку <tt>m[3]</tt>, на самом деле, не является <i>LValue</i>, т.е. объектом, имеющим физический адрес.
 
=== Операторы управления динамической памятью ===