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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
#1

vector::assign и initializer_list - C++

12.07.2013, 16:50. Просмотров 1346. Ответов 6
Метки нет (Все метки)

хочу разобраться как работает vector::assign, на сайте http://www.cplusplus.com/reference/v...vector/assign/
приводятся три варианта,
range (1) template <class InputIterator> void assign (InputIterator first, InputIterator last);
fill (2) void assign (size_type n, const value_type& val);
initializer list (3) void assign (initializer_list<value_type> il);
но приводится пример использования только (1) и (2), прохожу по ссылке на initializer_list http://www.cplusplus.com/reference/i...tializer_list/
делаю так
C++
1
2
3
std::vector<int>forth;
int il[] = { 10, 20, 30 };
forth.assign (<int>il);
- ошибка, хочу понять как правильно
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
12.07.2013, 16:52     vector::assign и initializer_list #2
soican,
C++
1
forth.assign({10,20,30});
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
12.07.2013, 16:57  [ТС]     vector::assign и initializer_list #3
всё гениальное просто, но вот интересно, а чего он не проглатывает ни il[] ни просто il?
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
12.07.2013, 17:02     vector::assign и initializer_list #4
soican, Ну. Потому что initializer_list это отдельный тип.
C++
1
2
std::initializer_list<int> il = {1,2,3};
forth.assign(il);
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
12.07.2013, 17:23  [ТС]     vector::assign и initializer_list #5
во...теперь я довольныный
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
12.07.2013, 17:27     vector::assign и initializer_list #6
soican, Возможно будете довольнее, зная что

C++
1
auto il = {1,2,3};
Будет иметь тип initializer_list в любом случае.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2013, 17:32     vector::assign и initializer_list
Еще ссылки по теме:

Вывод типа для initializer_list C++
C++ Initializer_list constructor
C++ Почему Visual Studio ругаются ( просит скобки ' ), } ', выражение ) на функцию assign?
Затираются значения при возврате из функции initializer_list C++
Нюансы синтаксиса: что означает запись vector<int*> a и vector <int>*a ? C++

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

Или воспользуйтесь поиском по форуму:
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
12.07.2013, 17:32  [ТС]     vector::assign и initializer_list #7
Цитата Сообщение от ForEveR Посмотреть сообщение
Будет иметь тип initializer_list в любом случае.
да это ещё круче
Yandex
Объявления
12.07.2013, 17:32     vector::assign и initializer_list
Ответ Создать тему
Опции темы

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