Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
1 / 1 / 2
Регистрация: 13.12.2011
Сообщений: 81
1

Range-based for

27.04.2014, 15:46. Просмотров 785. Ответов 2
Метки нет (Все метки)

Пример кода:
C++
1
2
3
4
5
int my_array[5] = {1, 2, 3, 4, 5};
for(int &x : my_array)
{
  x *= 2;
}
Возникли вопросы:
1. "х" является итератором?
2. Для чего мы записывает "2" по адресу, который лежит в х?
Так мы сделать не можем?
C++
1
2
3
4
5
6
int my_array[5] = {1, 2, 3, 4, 5};
for(int x : my_array)
{
  x = 2;
 
}
3. Обращаюсь ли я к следующему элементу коллекции таким образом :
C++
1
2
3
4
5
6
7
8
int my_array[5] = {1, 2, 3, 4, 5};
for(int x : my_array)
{
  x = 2;
  if (x+1==0){
  ..
 }
}
?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.04.2014, 15:46
Ответы с готовыми решениями:

Range-based for
Дана конструкция вида for(auto a:some_func()). Гарантирует ли стандарт что some_func будет вызвано...

Range-based for
Почему не работает данный цикл с динамически выделенным массивом? Подозреваю, что из-за...

Непонятки с range-based for!
Доброе время суток! Запутался с range-based циклами! Вообщем код inline string...

range-based for не работает
#include <iostream> #include <vector> int main() { std::vector<int> v(30); for (auto z : v)...

2
6 / 6 / 5
Регистрация: 10.08.2012
Сообщений: 82
27.04.2014, 15:53 2
C++
1
x *=  2
это не адресс, это тоже самое что
C++
1
x = x*2
только короче.
1
Эксперт С++
1661 / 1033 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
27.04.2014, 16:11 3
Цитата Сообщение от i7otep9wka Посмотреть сообщение
1. "х" является итератором?
Нет, он является ссылкой на элемент массива (то, на что ссылается итератор).

Добавлено через 1 минуту
Цитата Сообщение от i7otep9wka Посмотреть сообщение
Обращаюсь ли я к следующему элементу коллекции таким образом
Нет, это операция с текущим элементом массива. В общем случае другие элементы внутри range-based for недоступны.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.04.2014, 16:11

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Range-based for trouble
Доброго времени суток, уважаемые форумчане! У меня возникла небольшая проблема с данной штукой....

загадки range-based
если поставить auto &it - будет тоже самое - почему?// initializer_list::begin/end #include...

A range-based for statement
я вот чё то не понимаю - когда вызываем оператор delete для указателя на массив, он каким то...

Range-Based for для определённого диапазона
Добрый вечер, мои хорошие! Вопросик такой... Не знаю простой или нет, но ответа не нашла. ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.