Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
Avazart
Эксперт С++
7724 / 5633 / 549
Регистрация: 10.12.2010
Сообщений: 25,406
Записей в блоге: 17
13.05.2012, 02:27 0

Как передавать ссылку на структуру в map?

13.05.2012, 02:27. Просмотров 1988. Ответов 22
Метки (Все метки)

Ответ

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
struct Test {
    string t;
    int i;
};
//----------------------------------------------
int _tmain(int argc, _TCHAR* argv[])
{
system("chcp 1251");
 
    int test;
    vector<Test> data;
    data.reserve(10);// резервная память под 10 элементов
    map< int, Test*> itag;
    for (int i = 0; i < 10; i ++) {
        data.push_back(Test());
        data.back().t = '0' + i;
        data.back().i = i;
        itag[i] = &data.back();
    }
 
for (int i = 0; i < 10; i ++) cout<< (*itag[i]).t <<endl; // тест
 
 
system("pause");
return 0;
}
Но все же вывод таков что ссылкой пользоваться нежелательно в таком случае так как при увеличении массива ссылки поменяются
Ну поэтому я и советую изменить объекты указателями на объекты, но это все зависит от ситуации по тому как возникает проблема с согласованным удалением

Вернуться к обсуждению:
Как передавать ссылку на структуру в map?
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2012, 02:27

Как вставить элемент и вывести элементы на экран в map<string, map<string,int>> ?
У меня есть map&lt;string, map&lt;string,int&gt;&gt;, в него надо добавить элементы (типа...

Как вставить map в map
есть такой map map &lt; INT64 , map &lt;INT64 , map&lt; wArray , int &gt; &gt; &gt; tMenu; ...

Emplace в std::map. Как добавить элемент в std::map без копирования?
здравствуйте... есть ли способ не писать так: std::map&lt;int, char&gt; ksa;...

0
Другие темы раздела
C++ Принадлежит ли точка кругу http://www.cyberforum.ru/cpp-beginners/thread572664.html
Для построения круга дают центр круга, дают радиус. Потом дают точку и спрашиваю попадает ли точка в круг. Как это выглядит у меня: virtual bool belong(int px, int py) const { ...
C++ Сохранение и чтение объекта класса в файл/из файла Добрый день! Столкнулся с проблемой сохранения объекта класса в файл, и последующего его чтения. Задача такая: имеем vector base, в котором есть объекты Person. Нужно писать из вектора в файл, а... http://www.cyberforum.ru/cpp-beginners/thread572635.html
C++ Численные методы
Здравствуйте уважаемые форумчане! Если вас не затруднит, не могли бы вы помочь мне с двумя задачами, просто я сам так и не смог разобраться, как надо делать... :cry: Здраствуйте форумчане! Если...
C++ команда удаления строки введенной с клавиатуры на C++
Вот написал программу. Надо удалить строку с данными после ее ввода. Объявил функцию void DelOldDate(), но как написать ее тело для удаления данных с типом возвращаемого значения string...
C++ Деление больших чисел http://www.cyberforum.ru/cpp-beginners/thread572577.html
Доброго времени суток. Спасите пожалуйста, как здесь быть:) Даны два числа. Ваша задача найти частное и остаток от деления. Input В первой строке дано делимое, во второй - делитель. Каждое...
C++ Кординаты мыши и нажатие клавишы у меня 2 вопроса: 1)Как определить координату мышки только по Y и записать её в переменную 2)Как отловить нажатую клавишу, если у меня программа в консоле и я её сворачиваю, и нажимаю mouse3 на... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru