Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Renji
2015 / 1383 / 312
Регистрация: 05.06.2014
Сообщений: 3,950
#1

Range-based for - C++

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

Дана конструкция вида for(auto a:some_func()). Гарантирует ли стандарт что some_func будет вызвано один раз или это зависит от компилятора?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2014, 03:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Range-based for (C++):

Range-based for - C++
Пример кода: int my_array = {1, 2, 3, 4, 5}; for(int &x : my_array) { x *= 2; } Возникли вопросы: 1. "х" является...

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

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

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

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

Непонятки с range-based for! - C++
Доброе время суток! Запутался с range-based циклами! Вообщем код inline string ChecTypeFiles(std::string const & Names) { ...

1
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
24.06.2014, 11:43 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Из стандарта.

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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2014, 11:43
Привет! Вот еще темы с ответами:

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

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

Передача массива в функцию и range-based цикл - C++
Весь мозг поломал, перечитал все об указателях и так и не понял как сделать этот код работоспособным. Как прямо сказать циклу что я ему...

Как определить индекс элемента в range-based for цикле? - C++
Вопрос, вот есть у меня простейший Range-based цикл int arr = { 9, 7, 1 }; for (auto i: arr) std::cout << "i" << "\n"; ...


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

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

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