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

Вопрос по std::map - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Готовый проекты в Visual Studio на С++ http://www.cyberforum.ru/cpp/thread126963.html
Здравствуйте. Я ищу готовые проекты visual studio на с++. Нужны они мне для метрического анализа для диплома. Несколько открытых программ я нашел на SF.net, но они там попадаются очень редко. Может кто поможет с поиском, или поделится своими разработками?
C++ Нужно разобраться со стеком Доброго времени суток... Помогите, пожалуйста, разобраться со стеком. Задание следующие : "написать программу для перестановки элементов стека x(1),x(2),x(3),...x(n)=>x(2),x(3),...x(n),x(1). Элементы пронумерованы в порядке их введения в стек." Нужна программа под dos, без доп. библиотек. Приведу пример программы работы со стеком. В программе вводится стек из н эллементов, и выводится на... http://www.cyberforum.ru/cpp/thread126786.html
C++ Создание нескольких объектов приводит к ошибке
for(int i=1,j=0;i<22;i++) for(j=1;j<32;j++) switch (MCard){ case 0:{ TNight *Night = new TNight; // создав 5 объектов *Night экземпляра TNight на 6 раз выдает ошибку . . . Ошибка доступа к защищенной памяти.
C++ О "нестабильности" или "переполнении" цикла foreach
Здравствуйте, коллеги. Недавно коллега-программист сообщил мне страшную вещь: оказывается, что цикл foreach может переполниться при большом объеме (50000) обрабатываемых записей (в результате часть записей не обрабатывается). Я сам ни разу с этим явлением не сталкивался. Может ли кто-либо подтвердить это заявление? Заранее благодарен. Александр.
C++ Расчет системных требований http://www.cyberforum.ru/cpp/thread125759.html
Есть консольное приложение, подскажите, пожалуйста, как расчитать для него минимальные системные требования? Монитор, клава это понятно, а вот всё остальное... Добавлено через 4 часа 38 минут Ау! Ответьте кто-нибудь! Или можно "на глаз" написать?
C++ Пакеты для проектирования БИС? Я слышал, что С++ используется для проектирования БИС. Кто-нибудь знает, какие библиотеки/пакеты для этого используются? подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
17533 / 5771 / 369
Регистрация: 30.03.2009
Сообщений: 15,872
Записей в блоге: 26

Вопрос по std::map - C++

08.05.2010, 20:13. Просмотров 7068. Ответов 27
Метки (Все метки)

В качестве хэш-таблицы для строк (AnsiString) я использовал std::map. От таблицы мне нужно было ещё и такое свойство: я хотел иметь информацию о том, присутсвует данный ключ в таблице или нет. В описании std::map сказано, что оператор [] ВСЕГДА создаёт элемент в таблице. В случае со String'ами такой проблемы как таковой не было, потому как даже если элемент создаётся в таблице, то он создаётся через Default'ный конструктор. Далее я беру элемент таблицы map[key] и проверяю, пустая там строка или нет.

Теперь мне нужно такое же свойство для bool (элементы таблицы являются Bool'ами). Эмпирически выглядит так, что для элемента, который я в таблицу не записывал, чтение всегда возвращает false. Но у меня нет уверенности, что сие будет так всегда. std::map - это всё-таки шаблон, а потому со всеми типами он работает одинаково и создание новой записи в таблице - это создание нового объекта через defeult'ный конструктор, который для базовых типов ничего делать не должен (т.е. элемент должен остаться неинициализированным). Техническая реализация может выглядеть таким образом, что перед созданием нового экземпляра класса в таблице память под него забивается нулями и только потом дергается new с указанием того, что объект нужно создать не абы где, а именно в этом участке памяти. Тогда для всех базовых типов реально всё по умолчанию будет обнулено

А что по этому поводу говорит стандарт? Просто я в Си++ как-то не силён

Добавлено через 1 минуту
Вариант-затычку, что вместо bool я могу сделать string и по факту, инициализирована строка или нет, трактовать это как true или False, не предлагать, ибо я сам пока могу до этого додуматься
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru