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

Задача с собеседования (аллокатор памяти) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проверка ввода. Символ 'а' (rus) http://www.cyberforum.ru/cpp-beginners/thread645594.html
В функции main присутствует проверка: for(;;){ cout << "Введите количество дисков (0-выход): "; fflush(stdin); if(scanf("%i", &count) != 1 || cin.rdbuf()->in_avail()!=1 || count <...
C++ Ханойские башни Решил задачу о ханойских башнях рекурсивно: void HanBashR(int count, int start, int mid, int final){ if(count == 2){ cout << start << " -> " << mid << endl; cout << start << " -> " <<... http://www.cyberforum.ru/cpp-beginners/thread645581.html
C++ Определить номер того элемента массива, который ближе всего к "X"
помогите пожалуйста ещё??? определить порядковый номер того элемента массива, который наиболее близко к некоторому целому числу "X"?
Контейнер и получение динамических объектов C++
Привет. Как можно грамотно с точки зрения ООП реализовать класс-контейнер, где будут хранится объекты? Объекты не однотипные, а наследники. Нужно будет грамотно манипулировать(получать,...
C++ Адрессация в 2-х мерных динамических массивах и nullptr http://www.cyberforum.ru/cpp-beginners/thread645539.html
Сегодня читал стаью о памяти,указателях итп Написал программу для динамического 2х мерного массива // what is array.cpp : Defines the entry point for the console application. // #include...
C++ Приватный конструктор и деструктор Зачем нужны приватный конструктор и деструктор? Как они работают? подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
02.09.2012, 00:52
Да фактически ж пул и просят по идее. Выделяете pool_size * sizeof(T) байт под пул, два массива размером в pool_size: один из bool (метки занятых ячеек; думаю, это будет быстрее битовых полей), второй из T* (кеш для указателей в пуле, рассчитывается при инициализации; тоже чуть ускоряет), определяете аллокацию-деаллокацию с помощью placement new и вызова деструктора, вместе с обновлением меток.

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