Форум программистов, компьютерный форум CyberForum.ru

Имя массива в качестве индекса - C++

Восстановить пароль Регистрация
 
Ed_CJ
0 / 0 / 0
Регистрация: 02.11.2012
Сообщений: 7
13.01.2013, 21:24     Имя массива в качестве индекса #1
Здравствуйте. Объясните, пожалуйста, как работает такой код:
C++
1
2
3
int a[]={1, 2, 3};
for (int i=0; i<3; i++)
 cout << i[a] << endl;
спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.01.2013, 21:24     Имя массива в качестве индекса
Посмотрите здесь:

Создайте класс с именем Employee, включающий в качестве элементов данных три информационных пункта: имя, фамилию и месячную зарплату C++
C++ Переворот массива с произвольного индекса
C++ Функция для нахождения индекса максимального элемента массива
В данном линейном целочисленном массиве каждый элемент с четным индексом увеличить на значение индекса, с нечетным — уменьшить на значение индекса C++
C++ Рекурсивная функция для вычисления индекса максимального элемента массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,920
Записей в блоге: 2
Завершенные тесты: 1
13.01.2013, 21:30     Имя массива в качестве индекса #2
Операция индексации:
a[i] будет преобразовано в *(a+i)
i[a] будет преобразовано в *(i+a)
Ed_CJ
0 / 0 / 0
Регистрация: 02.11.2012
Сообщений: 7
13.01.2013, 21:30  [ТС]     Имя массива в качестве индекса #3
Croessmah спасибо
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
13.01.2013, 21:30     Имя массива в качестве индекса #4
Похожая темя
Почему работает и так, и так: arr[i] и i[arr]?
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
13.01.2013, 21:31     Имя массива в качестве индекса #5
Цитата Сообщение от Croessmah Посмотреть сообщение
a[i] будет преобразовано в *(a+i)
а такое ты в книгах встречал? Ну так аналогично и это!
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,920
Записей в блоге: 2
Завершенные тесты: 1
13.01.2013, 21:33     Имя массива в качестве индекса #6
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
а такое ты в книгах встречал?
Конечно. Если не ошибаюсь, в книге "Скользкие места C++" есть статейка об операции индексации.
Можно хоть так сделать:
C++
1
2
3
4
5
6
7
8
#include <iostream>
 
int main(){
    int arr[3]={4,6,2};
    std::cout<<(-3)[arr+5]<<std::endl;
    std::cout<<(arr+5)[-3]<<std::endl;
    return 0;
}
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
13.01.2013, 21:45     Имя массива в качестве индекса #7
Цитата Сообщение от Croessmah Посмотреть сообщение
Конечно.
вопрос не тебе, естесственно. Я спрашивал ТС, встречал ли он приведённый тобой пример, потому и цитировал.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2013, 13:42     Имя массива в качестве индекса
Еще ссылки по теме:

Допустимо ли вместо индекса массива использовать i-ый элемент другого массива? C++
Нахождение индекса элемента массива на c++ C++
C++ Присвоить каждому значению массива значение индекса

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ed_CJ
0 / 0 / 0
Регистрация: 02.11.2012
Сообщений: 7
14.01.2013, 13:42  [ТС]     Имя массива в качестве индекса #8
Нет, не встречал.
Yandex
Объявления
14.01.2013, 13:42     Имя массива в качестве индекса
Ответ Создать тему
Опции темы

Текущее время: 12:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru