Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
>
ANSI С/С++
(Модератор:
Вад
) > Тема:
STL. Инициализация коллекции.
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: STL. Инициализация коллекции. (Прочитано 6459 раз)
0 Пользователей и 1 Гость смотрят эту тему.
RXL
Технический
Администратор
Offline
Пол:
STL. Инициализация коллекции.
«
:
11-06-2009 06:58 »
Можно ли как-то инициализировать, например вектор, при создании набором значений?
Например, имеем:
Код:
typedef std::vector<int> list_int_t;
Хочется помещать в него не по одному значению через push_back(), а списком. Штатная возможность существует?
Типа такого:
Код:
list_int_t array = list_int_t(1, 2, 3, 4, 5);
Мне пока видится выход только через создание типа-структуры с членом-вектором и конструктором (int, ...).
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Вад
Модератор
Offline
Пол:
Re: STL. Инициализация коллекции.
«
Ответ #1 :
11-06-2009 08:19 »
По-моему, можно только проинициализировать другим контейнером, или через итераторы. То есть, создать массив констант, и указатели на массив подставить в качестве итераторов, примерно так:
Код:
typedef std::vector<int> list_int_t;
const int TEMP[] = {1, 2, 3, 4, 5};
list_int_t array(TEMP, TEMP+5);
Записан
Антон (LogRus)
Глобальный модератор
Offline
Пол:
Внимание! Люблю сахар в кубиках!
Re: STL. Инициализация коллекции.
«
Ответ #2 :
11-06-2009 09:01 »
только в новом стандарте будет работать вот такая хрень
Код:
typedef std::vector<int> list_int_t;
list_int_t array = {1, 2, 3, 4, 5};
если используешь последнии версии компиляторов то уже можешь пользоваться
Записан
Странно всё это....
RXL
Технический
Администратор
Offline
Пол:
Re: STL. Инициализация коллекции.
«
Ответ #3 :
11-06-2009 09:13 »
LogRus
, на работе я пользуюсь исключительно устаревшими версиями
В общем, сделал через va_list - использовать дополнительный массив не особо удобно и может даже напрягать и запутывать.
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
>
ANSI С/С++
(Модератор:
Вад
) > Тема:
STL. Инициализация коллекции.
Загружается...