6 / 6 / 2
Регистрация: 06.01.2015
Сообщений: 180
1

Что при присваивается i в for(const auto& i : iVec1) ?

14.07.2016, 14:23. Показов 5255. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть объявление вектора
C++
1
vector<int> iVec1 = {0,1,2,3,4,5};
Почему следующие два варианта цикла выдают одинаковые результаты ? (на экран выводится 0 1 2 3 4 5)

Первый вариант:
C++
1
2
3
4
for(const auto& i : iVec1)
    {
        cout << i << " ";
    }
Второй вариант:
C++
1
2
3
4
for(const auto& i : iVec1)
    {
        cout << iVec1[i] << " ";
    }
По идее в цикле i будет присваивать каждый объект вектора. Почему тогда второй вариант работает ?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.07.2016, 14:23
Ответы с готовыми решениями:

Как исправить ошибку if(auto const& (val: stime))
Строка 46 if(auto const&amp; (val: stime)) #include &lt;iostream&gt; #include &lt;stdexcept&gt; #include...

Что это bool operator== (const CLASS&) const;
Что это? class CLASS { public: bool operator== (const CLASS&amp;) const; ...

ostream &operator<< (ostream &output, const Array &obj) - что означает эта строка?
void Array::getArray() // вывод массива { for (int ix = 0; ix &lt; size; ix++) cout &lt;&lt;...

For(auto const& val : stime) .cpp(47) : error C2143: синтаксическая ошибка: отсутствие "," перед ":"
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdexcept&gt; #include &lt;locale&gt; #include...

4
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
14.07.2016, 14:25 2
Лучший ответ Сообщение было отмечено Apparat_UA как решение

Решение

Сделай, чтобы элементы вектора не совпадали со своими индексами.
1
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,241
14.07.2016, 14:26 3
Цитата Сообщение от Apparat_UA Посмотреть сообщение
Почему следующие два варианта цикла выдают одинаковые результаты ?
Как уже сказали выше, у вас элементы в векторе совпадают с индексами и элементы имеют тип int. Попробуйте изменить и посмотрите что выйдет.
1
125 / 125 / 44
Регистрация: 05.10.2013
Сообщений: 462
14.07.2016, 14:26 4
Цитата Сообщение от Apparat_UA Посмотреть сообщение
Почему следующие два варианта цикла выдают одинаковые результаты ?
Потому что у вас элементы совпадают с индексами.
1
6 / 6 / 2
Регистрация: 06.01.2015
Сообщений: 180
14.07.2016, 14:36  [ТС] 5
Вот это я туплю. Спасибо всем.
0
14.07.2016, 14:36
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.07.2016, 14:36
Помогаю со студенческими работами здесь

query='SELECT * FROM resume WHERE ' & ''' & RecSet('place')& ''' & '=' & '''& s_loc &''' & - что не так?
упростил для краткости запрос. в чем ошибка? RecSet - это коннекшн. query='SELECT * FROM resume...

Почему friend ostrem& operator <<(ostream& outs, const Rational&); - invalid function declaration?
Пытаюсь скомпилировать программу пишет friend ostrem&amp; operator &lt;&lt;(ostream&amp; outs, const...

Auto&& and decltype(auto)
Приведите пример различия поведения заполнителей auto&amp;&amp; и decltype(auto).

const& и const* в имени функции
Объясните пожалуйста что значит const&amp; и const* в имени и параметрах функции(пример из...

error: no matching function for call to `QObject::connect(QPushButton&, const char[10], QApplication*, const char[8])'
Ошибка понимаю какая, но не понимаю, почему возникла и как исправить!) #include &lt;QtGui&gt; int...

Ошибка: Binding 'const Ship' to reference of type 'Ship&' discard qualifiers. Не пойму, где теряется const
есть public метод класса с квалификатором const тип _ships - QMultiMap QMultiMap имеет...


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

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

Новые блоги и статьи
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
Параллельное программировани­е: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS, Swagger и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru