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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 55, средняя оценка - 4.64
bor.is
0 / 0 / 1
Регистрация: 29.08.2007
Сообщений: 9
#1

std::allocator - C++

29.08.2007, 19:38. Просмотров 6894. Ответов 1
Метки нет (Все метки)

я не смог найти хорошего описания роботы с аллокатором, так что спрашиваю у тех, кто с ним работал
std::allocator::allocate (size_type size, void* hint);
по идее hint должен задавать начальную позицию с которой будет выделяться память, но на практике это не выполняется
и потом даже если я захочу выделить память там где я хочу - она может быть занята, так как же тогда, например, в векторе так быстро выполняется push_back () ??
вообще моя задача позволить добавлять и удалять элементы в динамической реализации масива, да хорошо подходит вектор, но нужно это сделать самому
делал так, что каждый раз при добавлении элемента выделяется память на size() + 1 элементов, туда же копируется старый массив и в конце добавляется новый элемент
а старый массив деструктируется, но такая реализация очень медленна, вектор делает это как-то быстро, я смотрел по сырцам но понять так и не смог
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.08.2007, 19:38     std::allocator
Посмотрите здесь:

std::allocator - C++
Здравствуйте! Подскажите почему возникает ошибка сегментирования: using std::cout; using std::endl; int main() { ...

Std::allocator<wchar_t>>' to 'LPCWSTR' - C++
собственно есть list&lt;wstring&gt; куда вставили много адресов типа L&quot;D:\\66\\99&quot;; Задача удалять папки по этому адресу (пока что папки пусты...

Что такое std::allocator<T> ? - C++
я так понял возвращает адрес чего то?

Как сделать свой контейнер совместимым с std::allocator? - C++
Как сделать свой контейнер совместимым с std::allocator?

allocator - C++
Здорова! Есть задачка:&quot;Завершите или реализуйте с самого начала Pool_alloc (параграф 19.4.2) так, чтобы обеспечивались все возможности...

Allocator и shared_ptr - C++
Прокомментируйте пожалуйста. Есть ли смысл и вообще возможность оформлять зарезервированную память allocator-ом в shared_ptr? Или это...

Ошибка с allocator - C++
Приветствую. Пользуюсь Dev-C++. При выполнении кода, ошибка, что на скрине. #include &lt;iostream&gt; int main() { ...

Vector allocator SQLite - C++
Гуру, помогите новичку! Столкнулся с проблемой, и даже не понимаю в чем она... Надо: сделать список(вектор) для хранения ссылок...

allocator своя версия - C++
Доброго времени суток. Мне нужно написать class allocator на подобии стандартного. Он должен содержать следующие методы: Method void*...

allocator, при компиляции ошибка - C++
template&lt;class T&gt; class Vec { public: ... private: allocator&lt;T&gt; alloc; ... }

Для чего существуют allocator-и - C++
Привет, опять я... Очерeдный вопрос: Для чего существует allocator и как он используется? прочитал по англисский но как то не понял...

Лямбда-выражение, allocator + destroy - C++
Подскажите в чем ошибка пожалуйста( отказывается выполнять функцию destroy: std::allocator&lt;std::string&gt;&amp; newAlloc = alloc; ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Гость
Сообщений: n/a
22.09.2007, 00:33     std::allocator #2
Вектор выделяет памяти не точно сколько запросили, а несколько больше - так, чтобы при следующих операциях вставки элементов вообще не перевыделять память. Например: при первой вставке выделяется памяти на 10 элементов, когда пытаются вставить 11-й - на 50 элементов и т.д.
Yandex
Объявления
22.09.2007, 00:33     std::allocator
Ответ Создать тему
Опции темы

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