Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 02.12.2013
Сообщений: 44
1

Тип значения в контейнере map - контейнер list

24.11.2014, 21:18. Просмотров 583. Ответов 2
Метки нет (Все метки)

Возможно ли использовать следующий код:
C++
1
2
3
4
5
6
7
8
9
10
struct p {
    int id;
};
 
int main()
{
    map<string, list<p> > m;
 
    return 0;
}
Если да, то как можно осуществить вставку элемента в словарь?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.11.2014, 21:18
Ответы с готовыми решениями:

Возможно ли создать контейнер std::map, в котором в качестве значения была бы ссылка на std::map?
Здравствуйте. Возможно ли создать контейнер std::map, в котором в качестве значения была бы...

Добавление значения в контейнер вектор, находящийся в map
Возникла проблема: есть файл std формата: Миша 5 5 2 3 Влад 0 3 3 4 и т.д. Из него считываются...

В одномерном массиве посчитать сумму элементов до последнего нулевого значения. Использовать контейнер - List
не могу сделать...

Контейнер в контейнере
Необходимо реализовать хранилище данных. Бинарное дерево, в каждом элементе которого стек. Для...

2
Эксперт С++
8226 / 3814 / 826
Регистрация: 15.11.2014
Сообщений: 8,664
24.11.2014, 23:06 2
1. Да.

2. Вставку можно осуществить разными способами. Это зависит от ваших потребностей.

Пример:

http://rextester.com/RCGM58224


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <list>
#include <map>
using namespace std;
 
 
struct p 
{
    int id; 
    
    template<class T> 
        friend T& 
            operator<<(T& os, const p& obj ){ return os<< obj.id; }
};
 
int main()
{
    std::cout << "Hello, world!\n";
    
    typedef list<p>
        mylist;
    
    map<string, mylist > m;
    
    const p source1[] = { 10, 20, 30 };
    const p source2[] = { 40, 50, 60 };
    
    m["hello"] = mylist( source1, ::std::end(source1) );
    m["world"] = mylist( source2, ::std::end(source2) );
    
    for(const auto& _pair: m)
    {
        cout <<"key = '"<<_pair.first<<"'\n    list: ";
        for(const auto& _p: _pair.second)
            cout <<_p<<", ";
        cout <<'\n';
    }
 
}
0
45 / 45 / 23
Регистрация: 14.04.2013
Сообщений: 188
24.11.2014, 23:46 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <list>
#include <map>
using namespace std;
 
struct p
{
    int id;
    p() { id = 3; }
};
 
int main()
{
 
    map<string, list<p>> m;
    list<p> temp;
    m.insert(make_pair("Lalallal", temp));
    for (auto it = m.begin(); it != m.end(); ++it)
        it->second.push_back(p());
 
    //или 
    for (auto& x : m)
        x.second.push_back(p());
        
        
    system("pause");
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.11.2014, 23:46

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Контейнер в контейнере
Имеется UserControl типа контейнер, внутри его другой контейнер Picture1. Возможно ли средствами...

Заменить контейнер vector, использовавшийся для хранения текстовых строк (листинг 2.3), на контейнер list
Здравствуйте форумчане, может кто объяснить как делать это задание и что собственно мы тут вообще...

Шаблоны, контейнеры, контейнер в контейнере
Всем привет! Задумал написать класс EDeque&lt;Type&gt; тело EDeque&lt;string&gt; test1;...

List<T> тип значения?
Добрий вечер. Работал со списком List&lt;T&gt; - передавал его в метод, а потом возвращал измененным и...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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