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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
-MefistofeL-
21 / 19 / 1
Регистрация: 11.02.2009
Сообщений: 383
#1

STL - C++

20.04.2010, 18:07. Просмотров 1385. Ответов 7
Метки нет (Все метки)

Блин нарорд... я затупил по жоскому.... у меня std::vector, пытаюсь добавить элемент на n-e место:

C++
1
2
3
4
5
6
7
        using namecpace std;
        vector<PPoint*> contur;
//_____________________________________________________
        PPoint* t;
        vector<PPoint*>::iterator it=contur.begin();
        advance(it,n);
        contur.insert(it,t);
ошибок не вызывает, а объект не добавляется((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2010, 18:07     STL
Посмотрите здесь:

STL - C++
где можно почитать про STL очень подробно что бы исходные коды тоже были, какие структуры данных используются в реализации и тд тд тд ...

STL - C++
Добрый вечер всем кто открыл эту вкладку! Надо реализовать кольцевой упорядоченный двозвязний список на STL + некоторые функции работы с...

STL - C++
Данная программа делает следующее 1. Создать объект-контейнер в соответствии с вариантом задания и заполнить его данными, тип которых...

STL. - C++
Всем доброго времени суток. У меня имеется два вопроса. 1) У нас имется квадратная матрица. И чтобы найти в строках, к примеру,...

STL - C++
Задача: сторонами треугольников и прямоугольников являются цветные (red, green, blue) lego-палстины с соответствующим количеством узлов....

STL - C++
std::vector&lt;char*&gt; files; Объясните пожалуйста как правильно заполнять такой вектор

STL в С++ - C++
Нужна помощь! Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Определить количество слов, которые...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,354
20.04.2010, 18:33     STL #2
C++
1
2
3
4
5
6
7
8
9
10
    vector<PPoint*>::iterator it=contur.begin();
 
    assert(n <= contur.size()); // сработает или нет?
    if (n <= contur.size())
    {
        advance(it,n);
        contur.insert(it,t);
    }
    else
        throw out_of_range("Wrong index!");
-MefistofeL-
21 / 19 / 1
Регистрация: 11.02.2009
Сообщений: 383
20.04.2010, 19:11  [ТС]     STL #3
нет.. блин мне нужно, чтобы она добавила объекты к существующим... допустим, у меня имеется 2 объекта в векторе, а надо добавить третий между ними... как??
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,354
20.04.2010, 19:28     STL #4
Вот именно так.
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
20.04.2010, 19:41     STL #5
или так (n - 0-based индекс, который будет иметь элемент после добавления):

C++
1
2
3
4
5
6
if (n <= contur.size()){
    contur.insert(contur.begin() + n, t);
} else {
    // do something else, maybe append it at the end?
    ;
}
-MefistofeL-
21 / 19 / 1
Регистрация: 11.02.2009
Сообщений: 383
20.04.2010, 19:44  [ТС]     STL #6
пытался... тоже самое

Добавлено через 49 секунд
если ты имеешь ввиду, что n - это Int
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
20.04.2010, 19:54     STL #7
Цитата Сообщение от -MefistofeL- Посмотреть сообщение
пытался... тоже самое

Добавлено через 49 секунд
если ты имеешь ввиду, что n - это Int
попробуй по-простому, как я тебе написал. зачем ты усложняешь? advance() отложи для других контейнеров. для вектора он ни к чему. vector - random access container type.

Добавлено через 5 минут
кстати, у тебя:

PPoint* t;

т.е. t объяслена как указатель, но значения ей не присваивается, там какой-то мусор лежит, но этот мусор должен добавиться к вектору. проблемы начнутся при попытке использовать его как указатель на что-то.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2010, 21:11     STL
Еще ссылки по теме:

STL - C++
Всем привет :) Задача следующая - Нужно считать из файла строки, запихнуть их в стек и вывести на экран, чтобы перед ними был номер...

STL - C++
Доброго времени суток! Возникли трудности с пониманием задачи и принципа работы программы. Задание следующее: &quot;Разработать программу -...

STL - C++
помогите сделать ввод ФИО и возраста через STL .Вот часть моего кода#include &lt;string&gt; #include &lt;vector&gt; #include &lt;algorithm&gt; #include...

STL - C++
помогите,нужно написать прогу,чтоб каждый отрицательный элемент последовательности заменить на его квадрат.это всё при помощи STL

STL - C++
Здравствуйте. Ребят пожалуйста решите 2 простенькие задачки, потратьте немного своего времени, очень прошу. Заранее огромное спасибо...


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

Или воспользуйтесь поиском по форуму:
-MefistofeL-
21 / 19 / 1
Регистрация: 11.02.2009
Сообщений: 383
20.04.2010, 21:11  [ТС]     STL #8
Цитата Сообщение от novi4ok Посмотреть сообщение
т.е. t объяслена как указатель, но значения ей не присваивается, там какой-то мусор лежит, но этот мусор должен добавиться к вектору. проблемы начнутся при попытке использовать его как указатель на что-то.
на это не обращай внимание... t принимается в функции

Добавлено через 49 минут
чорд.. не в этом трабла была... сори челы и спс за помощь))
Yandex
Объявления
20.04.2010, 21:11     STL
Ответ Создать тему
Опции темы

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