Шрифт:
Подчеркнем, что операции арифметики указателей (например,
Только операции над указателем типа
Указатель на функцию (см. раздел 27.2.5) можно только копировать и вызывать. Рассмотрим пример.
A.8.2. Массивы
Массив (array) — это неразрывная последовательность объектов (элементов) одинакового типа, имеющая фиксированную длину.
Если массив является глобальным, то его элементы могут быть инициализированы соответствующим значением, принятым для данного типа по умолчанию. Например, значение
Имя массива неявно преобразуется в указатель на его первый элемент. Рассмотрим пример.
Массив или указатель на элемент массива может индексироваться с помощью оператора
Элементы массива нумеруются начиная с нуля (разделы 18.5).
Диапазон индексов массива не проверяется. Кроме того, поскольку они часто передаются с помощью указателей, информация, необходимая для проверки диапазона, передается пользователям ненадежным способом. Рекомендуем использовать класс
Можно определить и использовать массив массивов (двумерный массив), массив массивов массивов (многомерный массив) и т.д. Рассмотрим пример.
Нетривиальное использование многомерных массивов — тонкое и уязвимое для ошибок дело (см. раздел 24.4). Если у вас есть выбор, следует предпочесть класс
A.8.3. Ссылки
Ссылка (reference) — это синоним (alias), т.е. альтернативное имя объекта.
Ссылки часто используются в качестве параметров функций, чтобы предотвратить копирование.
См. разделы 8.5.4–8.5.6.
A.9. Функции
Функция (function) — это именованный фрагмент кода, получающий (возможно, пустой) набор аргументов и (необязательно) возвращающий значение. Функция объявляется с помощью указания типа возвращаемого значения, за которым следует ее имя и список параметров.
Итак,
Телом функции должен быть блок (см. раздел 8.2) или блок