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

переписать std::map - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Visual C++ & Borland C++ http://www.cyberforum.ru/cpp/thread157887.html
Я хочу перейти с Borland C++ на Visual C++! И хочу узнать, сильно ли они от друг друга отличаются, есть ли в Visual C++ тип AnsiString?
C++ Как просчитать число ПИ до определенного знака? Подскажите удобную формулу. http://www.cyberforum.ru/cpp/thread157883.html
C++ Окно Windows/Linux на с++ без всяких api
Основная суть вопроса в заголовке.теперь пояснения. Как сделать окно на чистом С++без всяких opengl,winapi просто имея Пакет языка с++ и нечего больше со стандартными библами.я сразу думаю что этот код и пояснения врятли кто тут напишет.так что прошу хотя бы ссылочку алгоритмы,теорию,и желательно к этому всему листинг кода ! заранее спасибо! PS: Еще раз повторяю только на чистом с++ без API
Динамически изменяющаяся строка C++
Есть файл, который постоянно меняется.. Я его читаю так допустим: int main() { while(1) { system("clear"); system("cat /home/alexey/Desktop/log.txt");
C++ Указатель на пользовательский тип http://www.cyberforum.ru/cpp/thread157677.html
Чёто туплю, почему когда передаёшь переменную (например int) параметром через адрес в функцию (параметр - указатель на этот тип), то в теле этой функции для доступа к этой переменной приходится обращаться через указатель как через массив, причём работает только для , а дальше выдаёт ошибку. Вообще что значит это? Почему не 1 а 3 элемента и вообще как это так с точки зрения компилятора ...
C++ STL std::set, std::pair, std::make_pair Я не знаю как описать тему в двух словах, поэтому не обращайте внимание на название темы. Собственно перейдем к нашим баранам: есть пользовательский класс (условно дерево): class tree { double age, height; std::string name; public: tree(std::string); bool operator == (tree); bool operator > (tree); bool operator < (tree); подробнее

Показать сообщение отдельно
slowCheetah
11 / 11 / 1
Регистрация: 18.07.2009
Сообщений: 123
09.08.2010, 20:27     переписать std::map
Добрый вечер!

Есть работающая программа, в которой используется map, все работало хорошо, но теперь немного изменились условия и объем данных, с которыми теперь придется работать значительно увеличился, в разы. Поскольку map используется во многих местах и обращение к нему происходит через итераторы, то заменять map на что-то другое крайне нежелательно, поэтому решил переписать map таким образом:
поскольку на скорость работы программы и объем данных, которые держатся в памяти сильно влияет именно значение, а не ключ map'а, т.е на каждый ключ приходится выделять память под структуру, и потом еще ее чистить, то есть идея заливать в map сначала все ключи, а значения забивать NULL, а потом при обращении к i-му элементу через итератор, определив, что там NULL подгружать данные.

Если б работал с вектором, перегружал бы operator[] и там уже подгружал данные, но вот как мне быть и что переписывать в map'e, если обращение к нему идет только через итераторы? Знатоки stl, помогите пожалуйста!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru