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

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

Войти
Регистрация
Восстановить пароль
 
BRcr
4006 / 2295 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
#1

Поясните синтаксис - ( std::string& x: bar ) - C++

18.05.2014, 09:07. Просмотров 305. Ответов 2
Метки нет (Все метки)

Наткнулся здесь на использование двоеточия для какого-то рода инициализации ссылки, но не понимаю ни синтаксиса, ни механизма работы:
C++
1
2
3
4
5
6
7
8
9
10
11
  std::vector<std::string> foo = {"air","water","fire","earth"};
  std::vector<std::string> bar (4);
 
  // moving ranges:
  std::cout << "Moving ranges...\n";
  std::move ( foo.begin(), foo.begin()+4, bar.begin() );
  //... 
 
  std::cout << "bar contains " << bar.size() << " elements:";
  for (std::string& x: bar) std::cout << " [" << x << "]"; // <--- Как в точности работает цикл вывода????
  std::cout << '\n';
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2014, 09:07     Поясните синтаксис - ( std::string& x: bar )
Посмотрите здесь:
C++ Возврат std::string&
C++ cannot convert parameter 1 from 'int' to 'std::string &'
C++ Распределитель памяти идентичный std::allocator. Непонятные синтаксис и концепция std::allocator::construct
Error: cannot bind 'std::basic_ostream<wchar_t>' lvalue to 'std::basic_ostream<wchar_t>&&'| C++
C++ Поясните реализацию std::addressof
C++ Std::string and std::wstring convert
отсутствует оператор "<<" соответствующий этим операндам (std::ostream << const std::string) C++
Ошибка: отсутствует оператор ">>"; типы операндов: std::istream >> std::string C++
C++ "range-base for" и проверка на последний элемент в std::set<std::string>
std::string -> std::wstring C++
C++ std::string + std::remove
C++ Поясните код 0[&x]

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
18.05.2014, 09:08     Поясните синтаксис - ( std::string& x: bar ) #2
Range-based for loop http://en.cppreference.com/w/cpp/language/range-for
BRcr
4006 / 2295 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
18.05.2014, 10:47  [ТС]     Поясните синтаксис - ( std::string& x: bar ) #3
Удобная фишка
Пора глубже вникать в новые стандарты по ходу...
Yandex
Объявления
18.05.2014, 10:47     Поясните синтаксис - ( std::string& x: bar )
Ответ Создать тему
Опции темы

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