Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/42: Рейтинг темы: голосов - 42, средняя оценка - 4.67
0 / 0 / 3
Регистрация: 29.08.2007
Сообщений: 9
1

std::allocator

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

я не смог найти хорошего описания роботы с аллокатором, так что спрашиваю у тех, кто с ним работал
std::allocator::allocate (size_type size, void* hint);
по идее hint должен задавать начальную позицию с которой будет выделяться память, но на практике это не выполняется
и потом даже если я захочу выделить память там где я хочу - она может быть занята, так как же тогда, например, в векторе так быстро выполняется push_back () ??
вообще моя задача позволить добавлять и удалять элементы в динамической реализации масива, да хорошо подходит вектор, но нужно это сделать самому
делал так, что каждый раз при добавлении элемента выделяется память на size() + 1 элементов, туда же копируется старый массив и в конце добавляется новый элемент
а старый массив деструктируется, но такая реализация очень медленна, вектор делает это как-то быстро, я смотрел по сырцам но понять так и не смог
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.08.2007, 19:38
Ответы с готовыми решениями:

Распределитель памяти идентичный std::allocator. Непонятные синтаксис и концепция std::allocator::construct
Компилятор: MSVC 2010 Exress код моего класса распределяющего память под спойлером #include...

(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&
astxx::manager::connection::connection(std::basic_string&lt;char, std::char_traits&lt;char&gt;,...

std::allocator
Здравствуйте! Подскажите почему возникает ошибка сегментирования: using std::cout; using...

allocator std::map
Подскажите вопрос, есть тестовое задание: Подскажите где про это почитать и разъясните...

1
Гость
22.09.2007, 00:33 2
Вектор выделяет памяти не точно сколько запросили, а несколько больше - так, чтобы при следующих операциях вставки элементов вообще не перевыделять память. Например: при первой вставке выделяется памяти на 10 элементов, когда пытаются вставить 11-й - на 50 элементов и т.д.
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.09.2007, 00:33

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

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

Ошибка при использовании std::allocator
Пытаюсь разобраться с использование std::allocator. Вот пример кода: template &lt;typename T,...

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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