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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
Programmer.
Прогер
631 / 262 / 7
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
#1

Для чего существуют allocator-и - C++

07.03.2012, 04:23. Просмотров 2022. Ответов 5
Метки нет (Все метки)

Привет, опять я...

Очерeдный вопрос: Для чего существует allocator и как он используется? прочитал по англисский но как то не понял...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2012, 04:23     Для чего существуют allocator-и
Посмотрите здесь:

Какие существуют способы выделения памяти для переменных? - C++
А какие существуют способы выделять память для переменных?

Существуют ли какие-нибудь библиотеки C++ для работы с HTML - C++
Подскажите пожалуйста, существуют ли какие-нибудь библиотеки С++ для работы с HTML (вывод формы из файла html, получение значений из полей,...

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

Какие существуют короткие константы для достаточно больших чисел? - C++
Периодически возникает потребность в использовании циклов с достаточно большим числом итераций, где важен только порядок, а не конкретное...

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

std::allocator - C++
я не смог найти хорошего описания роботы с аллокатором, так что спрашиваю у тех, кто с ним работал std::allocator::allocate (size_type...

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

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
3115 / 1917 / 207
Регистрация: 13.01.2012
Сообщений: 7,332
07.03.2012, 08:05     Для чего существуют allocator-и #2
тыкая пальцем в небо - для того что бы можно было переопределить объект выделяющий память для объектов библиотеки STD таким образом что бы получить решение заточенное под конкретную задачу
Programmer.
Прогер
631 / 262 / 7
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
07.03.2012, 14:45  [ТС]     Для чего существуют allocator-и #3
vxg,
Спасибо, Примерчик можно?
vxg
Модератор
3115 / 1917 / 207
Регистрация: 13.01.2012
Сообщений: 7,332
07.03.2012, 15:04     Для чего существуют allocator-и #4
никогда такого не делал, но тыкая пальцем в небо - у большинства классов библиотеки STD аллокатор фигурирует в качестве параметра шаблона имеющего умалчиваемое значение. если определить собственный аллокатор (его "интерфейс" слизывается с типового аллокатора наследованием) и указывать его явно при создании объектов они будут получать память выделенную по нашим правилам. практическая необходимость в таких фокусах может появится при частом выделении/освобождении памяти - в этом случае память оказывается дешевле не освобождать по настоящему, а занести указатель в специальный список свободных из которого в последствии пытается черпать память операция выделения. сам не делал, поэтому может что путаю
Programmer.
Прогер
631 / 262 / 7
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
07.03.2012, 17:05  [ТС]     Для чего существуют allocator-и #5
vxg,
спасибо большое...

Добавлено через 19 минут
vxg,
Вот я нашел вот токой примерчик:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <memory>
 
int main()
{
    std::allocator<std::string> exp;
    std::string *ptr;
    ptr = exp.allocate(10);
    exp.construct(ptr, "???");
    std::cout << ptr[0] << std::endl;
}
Чем етот пример отличается от:
C++
1
2
3
string *str;
str[0]  = "???";
cout << str[0] << endl;
Спасибо заранее...
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
08.03.2012, 03:11     Для чего существуют allocator-и #6
Что такое std::allocator<T> ?
Yandex
Объявления
08.03.2012, 03:11     Для чего существуют allocator-и
Ответ Создать тему
Опции темы

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