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

Не осуществляется объединение двух контейнеров - C++

Восстановить пароль Регистрация
 
CHELOVEKPAUK
 Аватар для CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
30.06.2014, 16:05     Не осуществляется объединение двух контейнеров #1
C++
1
2
3
4
5
6
7
8
set<string> matt, patt;
set<string> matt_and_patt;
 
Info_Processing(matt,"Matt"); // заполнение первого и второго множества
Info_Processing(patt,"Patt");
 
std::set_union(matt.begin(), matt.end(), patt.begin(), patt.end(), 
std::insert_iterator<set<string>>(matt_and_patt, matt_and_patt.begin()) );
Нужно объединить matt и patt и скопировать в matt_and_patt. При этом после использования функции set_union matt_and_patt все равно остается пустым! Что я делаю не так? В обоих множествах есть члены.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2014, 16:05     Не осуществляется объединение двух контейнеров
Посмотрите здесь:

C++ Объединение двух массивов.
C++ Использование двух контейнеров из STL
Программа из книги, в которой осуществляется вызов двух функций не работает C++
C++ Объединение двух контейнеров
Объявить объединение из двух структур и структуру из двух объединений C++
C++ Объединение двух массивов
Объединение двух программ C++
C++ Объединение двух списков

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
30.06.2014, 16:45     Не осуществляется объединение двух контейнеров #2
А так:
C++
1
2
std::set_union(matt.begin(), matt.end(), patt.begin(), patt.end(),
               std::inserter(matt_and_patt, matt_and_patt.begin()));
Добавлено через 3 минуты
Хотя, с std::insert_iterator код тоже рабочий, проблема где то в другом месте
CHELOVEKPAUK
 Аватар для CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
30.06.2014, 16:55  [ТС]     Не осуществляется объединение двух контейнеров #3
DiffEreD, проблема исправилась другим способом - функция Info_Processing принимала копию аргумента а не ссылку, поэтому не изменяла контейнеры, и следовательно, не изменяла и третий контейнер.
Yandex
Объявления
30.06.2014, 16:55     Не осуществляется объединение двух контейнеров
Ответ Создать тему
Опции темы

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