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

vector::assign и initializer_list - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
12.07.2013, 16:50     vector::assign и initializer_list #1
хочу разобраться как работает 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
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 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
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 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
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 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
Еще ссылки по теме:

C++ Не работает функция sort (vector, vector)
Как корректно скопировать vector в vector внутри класса C++
C++ Std::initializer_list wchar_t

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

Или воспользуйтесь поиском по форуму:
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
Ответ Создать тему
Опции темы

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