Оператор индекса:

postfix-expression [ expression ]

Заметки

Выражение, которое может также быть постфиксная (первичный) индекс за оператором []определяет индексирование массива.

Дополнительные сведения об управляемых массивов см. в разделе массив (Visual C++).

Обычно значение, представленное by постфиксное выражение значение указателя, например идентификатор массива. Выражение объединенное значение (в том числе перечисленных типов).Однако все, синтаксически, что одно из выражений типа указателя и другого объединенного типа.Таким образом объединенное значение может иметь постфиксное выражение позиция и значение указателя могли бы быть в брекетах в Выражение или позиция индекса.Рассмотрим следующий фрагмент кода:

   int nArray[5] = { 0, 1, 2, 3, 4 };
   cout << nArray[2] << endl;            // prints "2"
   cout << 2[nArray] << endl;            // prints "2"

В предыдущем примере выражение nArray[2] идентичны 2[nArray].Причина в том, что результат выражения индекса e1**[** e2 ] предоставляет следующим образом:

* ((e2) + **(**e1))

Адрес созданного выражением нет e2 байты из адреса e1.Скорее, адрес масштабируется для создания следующий объект в массиве e2.Примеры.

double aDbl[2];

Address aDb[0] и aDb[1] 8 байт врозь - размер объекта типа Двойное с плавающей запятой.Это масштабирование в соответствии с типом объектов сделано автоматически определяется языком C++ и in аддитивные операторы в которых обсуждаются сложение и вычитание операндов типа указателя.

Выражение индекса может также иметь несколько нижние индексы следующим образом:

expression1 [expression2] [expression3]

Выражения индекса связывают слева направо.Самое левое выражение индекс expression1**[expression2], является первым.Адрес, результаты из добавление expression1 и expression2 формы выражение указателя. then expression3 добавляет к данному выражению указателя для формирования новое выражение указателя и т д до тех пор, пока не будет добавлено последнее выражение индекса.Косвенный оператор (***) применяет после последнего subscripted выражение вычисляется, если конечное значение указателя не будет обеспечиваться тип массива.

Выражения с несколькими подстрочными ссылаются на элементы многомерных массивов.Многомерный массив массив, элементы которого массивы.например, первый элемент трехмерного массива массив с 2 измерениями.В следующем примере объявляется и инициализирует простой двумерный массив символов.

// expre_Subscript_Operator.cpp
// compile with: /EHsc
#include <iostream>

using namespace std;
#define MAX_ROWS 2
#define MAX_COLS 2

int main() {
   char c[ MAX_ROWS ][ MAX_COLS ] = { { 'a', 'b' }, { 'c', 'd' } };
   for ( int i = 0; i < MAX_ROWS; i++ )
      for ( int j = 0; j < MAX_COLS; j++ )
         cout << c[ i ][ j ] << endl;
}

См. также

Ссылки

Постфиксная выражения

Операторы C++

Operator precedence and Associativity

Массивы (C++)

Основные понятия

Одномерные массивы

Многомерные массивы (c#)