Массив (array) — это неразрывная последовательность объектов (элементов) одинакового типа, имеющая фиксированную длину. int a[10]; // 10 целых чисел
Если массив является глобальным, то его элементы могут быть инициализированы соответствующим значением, принятым для данного типа по умолчанию. Например, значение a[7] равно 0. Если массив является локальным (переменная объявлена в функции) или создан с помощью оператора new, то элементы встроенных типов останутся неинициализированными, а элементы, имеющие пользовательский тип, будут инициализированы его конструкторами.
Имя массива неявно преобразуется в указатель на его первый элемент. Рассмотрим пример.
int* p = a; // указатель p ссылается на элемент a[0]
Массив или указатель на элемент массива может индексироваться с помощью оператора [ ] . Рассмотрим пример.
a[7] = 9; int xx = p[6];
Элементы массива нумеруются начиная с нуля.
Диапазон индексов массива не проверяется. Кроме того, поскольку они часто передаются с помощью указателей, информация, необходимая для проверки диапазона, передается пользователям ненадежным способом. Рекомендуем использовать класс vector. Размер массива — это сумма размеров его элементов. Рассмотрим пример. int a[max]; // sizeof(a) == sizeof(int)*max
Можно определить и использовать массив массивов (двумерный массив), массив массивов массивов (многомерный массив) и т. д. Рассмотрим пример.
double da[100][200][300]; // 300 элементов типа, состоящего из
// 200 элементов типа, состоящего из // 100 элементов типа double
da[7][9][11] = 0;
Нетривиальное использование многомерных массивов — тонкое и уязвимое для ошибок дело. Если у вас есть выбор, следует предпочесть класс Matrix.
A.8.3. Ссылки
Ссылка (reference) — это синоним (alias), т.е. альтернативное имя объекта.
int a = 7; int& r = a;
r = 8; // переменная a становится равной 8
Ссылки часто используются в качестве параметров функций, чтобы предотвратить копирование.
void f(const string& s);
// . . .
f("эту строку слишком дорого копировать, \\ поэтому используется ссылка11);
Опубликовал katy
May 01 2015 12:22:07 ·
0 Комментариев ·
2278 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.