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

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

Войти
Регистрация
Восстановить пароль
 
IvanInanovich
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 113
#1

Удалить из множества - C++

26.06.2013, 19:45. Просмотров 320. Ответов 3
Метки нет (Все метки)

Добрый вечер. Столкнулся с таким вопросом. Как удалить объекты, которые динамически выделялись в процессе программы, если к примеру они находятся в мультимножестве.
Если это будет вектор или скажем лист, то можно с помощью методов их back, pop_back к листу можно и front применить. А как быть в таком случае с множеством/мультимножеством ? Каким образом можно добраться до значений и deleteтнуть их ?

Пример:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{
    std::multiset<int*, std::greater<int*> > multset;
    int* i1 = new int(7);
    int* i2 = new int(10);
    int* i3 = new int(3);
 
    multset.insert(i1);
    multset.insert(i2);
    multset.insert(i3);
 
   // delete ?
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2013, 19:45     Удалить из множества
Посмотрите здесь:

множества C++
C++ множества
C++ Множества
Множества. C++
C++ Множества
Множества. Проверка множества на наличие элемента в нем C++
C++ Множества
Множества C++
C++ Из множества отрезков плоскости удалить вертикальные (динамические структуры данных)
C++ Удалить из множества А минимальный элемент множества В
C++ Множества
Удалить из строки каждую пару символов '!?' и удалить некоторые символы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
el_gato_de_Ch
35 / 35 / 1
Регистрация: 28.04.2013
Сообщений: 110
26.06.2013, 19:56     Удалить из множества #2
ответ

запомни этот сайт он тебе пригодится ещё

а ещё вот этот
SatanaXIII
27.06.2013, 09:41
  #3

Не по теме:

@el_gato_de_Ch, ознакомьтесь пожалуйста с дельным наблюдением по оформлению постов.

Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
27.06.2013, 22:28     Удалить из множества #4
@IvanInanovich, multset.erase(multset.find(i2)); //O(logN)
Yandex
Объявления
27.06.2013, 22:28     Удалить из множества
Ответ Создать тему
Опции темы

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