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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
#pragma
Временно недоступен
 Аватар для #pragma
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
30.04.2010, 21:44     Куда будет указывать указатель в std::map<string,pointer *>? #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 *>?
Посмотрите здесь:

std::map, std::vector и порядок обхода коллекции C++
C++ запрошено преобразование от ‘const std::string*’ к нескалярному типу ‘std::string’
Передача функции указатель на элемент std::vector<std::string> C++
Стоит ли очищать в деструкторе std::map , std::vecotor? C++
C++ Как правильно перевести std::wstring в std::string ?
C++ Как привести std::wstring к std::string?
Std::map <string, class> ОШИБКА C2512 C++
C++ Куда деваются одномоментные указатели, или управление памятью в работе с std::string

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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 *>?
Ответ Создать тему
Опции темы

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