Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
2685 / 1856 / 552
Регистрация: 05.06.2014
Сообщений: 5,361
1

Range-based for

24.06.2014, 03:40. Просмотров 1074. Ответов 1
Метки нет (Все метки)

Дана конструкция вида for(auto a:some_func()). Гарантирует ли стандарт что some_func будет вызвано один раз или это зависит от компилятора?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.06.2014, 03:40
Ответы с готовыми решениями:

Range-based for
Пример кода: int my_array = {1, 2, 3, 4, 5}; for(int &x : my_array) { x *= 2; } Возникли...

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)...

1
В астрале
Эксперт С++
8028 / 4785 / 654
Регистрация: 24.06.2010
Сообщений: 10,558
24.06.2014, 11:43 2
Лучший ответ Сообщение было отмечено Renji как решение

Решение

Из стандарта.

For a range-based for statement of the form
C++
1
for ( for-range-declaration : expression ) statement
let range-init be equivalent to the expression surrounded by parentheses

a range-based for statement is equivalent
to
C++
1
2
3
4
5
6
7
8
9
10
{
auto && __range = range-init;
for ( auto __begin = begin-expr,
__end = end-expr;
__begin != __end;
++__begin ) {
for-range-declaration = *__begin;
statement
}
}
Так что видимо гарантирует.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.06.2014, 11:43

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

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

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

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

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


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

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

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