|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.02.2011, 01:36 | #1 |
Пользователь
Регистрация: 01.03.2008
Сообщений: 25
|
STL, vector. Добавление элементов
Доброго времени суток! У меня есть функция, получающая указатель на вектор. Нужно очистить вектор от всех элементов и добавить N нулевых. Можно ли это как-то сделать за один раз без цикла и push_back? Например как при создании нового
Код:
|
10.02.2011, 01:37 | #2 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
> vector<int> *a = new vector<int>(12000);
какая жесть! что мешает написать vector<int> a(12000)? А вектор лучше передавать не по указателю, а по ссылке. Вообще нефиг по указателю STL-контейнеры передавать — используй ссылки. Короче, лучше сделать вот так: Код:
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su Последний раз редактировалось Obey-Kun; 10.02.2011 в 01:49. |
10.02.2011, 01:49 | #3 |
Пользователь
Регистрация: 01.03.2008
Сообщений: 25
|
Obey-Kun, спасибо! А почему не стОит передавать указатели на контейнеры?
|
10.02.2011, 02:02 | #4 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
Да не знаю, не задумывался никогда. Просто так в хороших проектах не делают. Да и смотрится по-дурацки.
И создавать vector по new тоже плохо. Ну только если совсем нужно. Ибо обычно vector где создали, так и уничтожили (то есть обычно это или поле класса, или локальная переменная, третьего не дано).
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su |
10.02.2011, 07:39 | #5 | |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
Цитата:
|
|
10.02.2011, 14:28 | #6 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
Ну это ты зря. Используют те контейнеры, которые требуются. Если не нужно сортировать и искать, а дописывать надо только в конец, то vector — хороший выбор.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su |
11.02.2011, 04:50 | #7 |
Форумчанин
Регистрация: 31.01.2011
Сообщений: 160
|
вектор сам по себе предназначается для скрытия работы с динамической памятью, поэтому и создается обычно на стеке
относительно вопроса можно же сделать Код:
|
11.02.2011, 05:38 | #8 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
Ну так я это и написал.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su |
11.02.2011, 15:43 | #9 |
Форумчанин
Регистрация: 31.01.2011
Сообщений: 160
|
Obey-Kun, пардон
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
добавление элементов в массив | nhr | Помощь студентам | 1 | 11.12.2010 16:45 |
[C++] Добавление элементов в дерево на основе <list> | Lamarq | Помощь студентам | 1 | 17.11.2009 18:39 |
Cравнение элементов очереди. STL. | Lazio | Помощь студентам | 0 | 11.11.2009 00:16 |
Добавление элементов массива в массив | JOFRIF | Общие вопросы C/C++ | 11 | 04.10.2008 01:47 |
Добавление элементов ListView | SnakeMan | Помощь студентам | 4 | 30.11.2007 11:54 |