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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
#pragma
Временно недоступен
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
#1

Куда будет указывать указатель в std::map<string,pointer *>? - C++

30.04.2010, 21:44. Просмотров 1466. Ответов 1
Метки нет (Все метки)

Чисто теоретически,хотелось бы узнать у знатоков C++
Допустим есть некий контейнер
C++
1
std::map<const string, someClass *> container
И вот случился вызов:
C++
1
container["blabla"];
Что будет в указателе на экземпляр класса в этом случае? Если использовать пару строка - целое,то целое автоматом увеличивается на единицу,а тут что?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.04.2010, 21:44     Куда будет указывать указатель в std::map<string,pointer *>?
Посмотрите здесь:

Создать указатель, который сможет указывать объект любого типа. C++
allocator std::map C++
C++ сохранение/чтение map<string,string*> в файл
C++ Размерность std::map
Std::map <string, class> ОШИБКА C2512 C++
C++ Куда деваются одномоментные указатели, или управление памятью в работе с std::string
C++ Std::map и key_comp
C++ Std::shared_ptr release pointer?
Доступ к элементу std::string через указатель C++
Заставить указатель указывать на нулевой элемент массива C++
Работа с map<string, map<string, string>> C++
Указатель на члены класса (pointer-to-member) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Roma_F
331 / 246 / 5
Регистрация: 13.12.2009
Сообщений: 589
30.04.2010, 22:47     Куда будет указывать указатель в std::map<string,pointer *>? #2
Цитата Сообщение от #pragma Посмотреть сообщение
И вот случился вызов:
Имеется в виду вызов несуществующего элемента?

Цитата Сообщение от #pragma Посмотреть сообщение
Что будет в указателе на экземпляр класса в этом случае? Если использовать пару строка - целое,то целое автоматом увеличивается на единицу,а тут что?
Почему оно должно увеличится?

C++
1
2
3
4
5
    map<const string, MyClass *> container;
    cout << container["rrr"];
 
    map<const string, int> container;
    cout << container["rrr"];
в обоих случаях выведет "0", т.е. указатель = NULL
Yandex
Объявления
30.04.2010, 22:47     Куда будет указывать указатель в std::map<string,pointer *>?
Ответ Создать тему
Опции темы

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