Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
5 / 4 / 3
Регистрация: 22.11.2022
Сообщений: 146

Собственный аллокатор памяти

29.05.2023, 21:39. Показов 5709. Ответов 22

Студворк — интернет-сервис помощи студентам
Здравствуйте друзья. Пытаюсь создать собственный аллокатор, который позволит выполнять операцию резервирования памяти и должен параметризоваться количеством выделяемых за раз элементов, не более 10.

Вопрос, я правильно делаю? А то что то не как в документации явного ответа не нахожу.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
template <typename T>
struct MyAllocator {
    using value_type = T;
 
    MyAllocator() = default;
 
    template <typename U>
    MyAllocator(const MyAllocator<U>&) {}
 
    T* allocate(std::size_t n)
    {
        if (n > 10) 
            throw std::bad_alloc();
        return static_cast<T*>(::operator new(n * sizeof(T)));
    }
 
    void deallocate(T* p, std::size_t) {
        std::free(p);
    }
};
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.05.2023, 21:39
Ответы с готовыми решениями:

Задача с собеседования (аллокатор памяти)
Вопрос звучит так: &quot;Напишите быстрый аллокатор памяти&quot; Как я его понимаю: можно пожертвовать растратой памяти, всякими наворотами,...

Аллокатор памяти общего назначения
Добрый день! В ВУЗе задали написать аллокатор памяти общего назначения на С++, но у меня нет ни единого представления как это можно...

Собственный компонент. очистка памяти
Уважаемые коллеги, подскажите новичку. Самодельный компонент имеет защищенный член данных - double **Data, который является указателем...

22
фрилансер
 Аватар для Алексей1153
6495 / 5723 / 1133
Регистрация: 11.10.2019
Сообщений: 15,284
04.06.2023, 09:37
Студворк — интернет-сервис помощи студентам
Bodden, на русском языке тут



1
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
04.06.2023, 12:08
Цитата Сообщение от Bodden Посмотреть сообщение
Что то я делаю не то.
Конечно не то, я же вам сразу сказал.
Я вам дал код, который иллюстрирует в каком направлении копать (его можно даже запустить и он будет работать). Что опять не так? Почему вы игнорируете то, что вам пишут?
0
79 / 60 / 22
Регистрация: 14.12.2022
Сообщений: 240
04.06.2023, 18:32
Цитата Сообщение от Bodden Посмотреть сообщение
подчеркнуто зеленым:
Цитата Сообщение от Bodden Посмотреть сообщение
void* operator new[](size_t n);
у тебя в классе объявлена функция, а определения ее нет, на что компилятор и ругается. да она и не нужна совсем, эту строку удалить надо. и из статьи с хабры ты что-то не так понял похоже. я ее не читал, но функции выделения/освобождения памяти как минимум раньше были достпуны как для вызова так и для переопределения.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.06.2023, 18:32

Кроссовое определение кол-ва ядер CPU, объёма памяти и собственный IP адрес машины в локальной сети
Собственно есть на Qt что-нибуть для этого?

Собственный аллокатор с задаваемым выделением памяти
Дорогие форумчане! Что было сделано: Собственный аллокатор, который нормально сработал с std::vector. Что хочется сделать: ...

Собственный аллокатор и unordered_map
Имеется свой аллокатор. Для простоты приведу здесь максимально простой вариант, что бы не вводить лишние сущности, проблема с ним та же. ...

Создать собственный дек со связным и последовательным распределением памяти
Доброго времени суток! :3 Задали написать программу, выполняющую обработку нескольких линейных списков в едином адресном пространстве при...

Собственный malloc. Обработка ситуации, когда нет удаляемого блока памяти
Мне нужно добавить код , чтобы обрабатывалась ситуация, если удаляемого блока в списке нет (например, выделен адрес А, а запрашивается на...


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru