Вопросы по теме 'allocator'
Использование пользовательского распределителя Lua для подсчета использования памяти, но его результат отличается от collectgarbage('count')
Недавно я пытался отследить использование памяти lua в нашем проекте, и мне пришла в голову идея использовать для этой задачи настраиваемый распределитель lua_Alloc. Что ж, код распределителя выглядит просто и работает нормально.
Но вскоре эта...
2526 просмотров
schedule
14.03.2022
Как создать распределитель, который использует предварительно выделенное пространство памяти?
Мне нужно использовать данную область памяти в качестве кругового буфера. Мне дается указатель и размер области памяти, которую мне разрешено использовать в моей встроенной системе. Я думаю использовать класс boost::circular_buffer, но мне нужен...
178 просмотров
schedule
11.12.2023
Пользовательский std::allocator для классов с замененным оператором new
Недавно я заменил некоторые классы Vector/Matrix на классы, использующие SSE, и теперь проверяю правильность выравнивания памяти.
Следуя совету в ответе на этот вопрос , я заменил оператор new/delete для классы, которым это требуется, и начали...
1354 просмотров
schedule
05.08.2022
Интерфейсы C ++ 11 Allocator по умолчанию, которые я должен предоставить
Создавая свой собственный распределитель в C ++ 11, я реализую следующие интерфейсы. Это работает с вектором, но при попытке использовать это с картой я получаю ошибки по отсутствующим элементам. Я думал, что это все, что мне нужно реализовать для C...
404 просмотров
schedule
26.05.2022
Как распределитель C ++ должен обрабатывать свою выделенную память, когда она уничтожается / копируется / перемещается?
В настоящее время я пишу распределитель, который должен использоваться стандартными структурами данных C ++, т.е. он реализует Концепция аллокатора .
Распределитель довольно прост: он выделяет блоки из x объектов и всегда передает следующий...
176 просмотров
schedule
14.12.2023
Можно ли написать собственный распределитель STL, который использует указатели на функции распределения, предоставленные пользователем?
У нас есть библиотека, которая предоставляет интерфейс C через extern "C" и используется из кода C, но внутри она использует контейнеры STL и некоторые функции C++, такие как RAII, для удобства.
Теперь появилось новое требование, согласно...
367 просмотров
schedule
23.04.2022
Пользовательский распределитель с жесткими ограничениями
Я хочу заменить некоторый код, использующий boost::interprocess разделяемую память. Одним из преимуществ разделяемой памяти является то, что вы можете наложить ограничения на максимальный объем используемой памяти. Я ищу собственный...
68 просмотров
schedule
09.03.2024
VStudio 2012 Создание пользовательского распределителя для контейнера типа "только для перемещения"
Я пытаюсь создать контейнер stl типа только для перемещения, который использует собственный распределитель в VStudio 2012.
Проблема в том, что мне кажется, что я должен предоставить функцию построения для распределителя, который, в свою очередь,...
71 просмотров
schedule
30.08.2022
использование std::unique_ptr с распределителями
На этот раз я пробовал свои силы с распределителями и чувствовал, что есть много шансов на утечку ресурсов. Поэтому я подумал, что если бы я использовал std::unique_ptr для их обработки. Я попробовал свои силы с распределителем std::vector . Мой...
8162 просмотров
schedule
14.01.2023
Почему многие функции распределителя являются необязательными?
Я только что завершил личный проект по переопределению операторов new и delete и в процессе узнал о классах распределителей. Прочитав несколько онлайн-справочников, в том числе cppreference.com, я заметил, что многие функции описываются как...
75 просмотров
schedule
05.10.2023
Почему std :: allocator требует, чтобы значение атрибута duplicate_on_container_move_assignment было истинным?
Согласно текущему стандарту (20.7.9), std::allocator имеет член propagate_on_container_move_assignment , для которого установлено значение true_type :
распределитель классов шаблонов { public: typedef size_t size_type; typedef ptrdiff_t...
950 просмотров
schedule
15.05.2023
Почему `std::pmr::polymorphic_allocator` не распространяется при перемещении контейнера?
Из http://en.cppreference.com/w/cpp/memory/polymorphic_allocator :
polymorphic_allocator не распространяется на назначение копии контейнера, назначение перемещения или обмен. В результате назначение перемещения polymorphic_allocator...
1870 просмотров
schedule
05.04.2022
Почему возникает сообщение об ошибке при объединении элементов списка из списков с разными распределителями? И как это можно исправить?
Здравствуйте, я пытаюсь передать/переместить элемент из одного списка (в примере foo) в (end()-1) в другой список (в примере с именем bar) в позицию begin().
Единственная проблема заключается в том, что в одном из списков используется специальный...
294 просмотров
schedule
30.03.2023
Обрабатывает ли std::allocator чрезмерно выровненные типы в С++ 17?
В C++17 представлены std::aligned_alloc и new с учетом выравнивания, которые могут выполнять избыточное выравнивание, но как насчет std::allocator ? Обрабатывает ли он чрезмерно выровненные типы?
780 просмотров
schedule
02.09.2023
Почему sizeof(T) внутри моего контейнерного распределителя отличается от только в нем?
В этом коде я получаю другое значение sizeof(T), если распределитель является частью выделения контейнера:
#include <iostream>
#include <set>
#include <cstddef>
class Item
{
int a;
unsigned char b, c, d;
int e, f,...
95 просмотров
schedule
01.02.2024
std::allocate_shared, разрешить выделение счетчика ссылок общего указателя из пользовательского распределителя и в одном выделении
Сделать общий доступ повышает производительность, используя одно выделение для счетчика ссылок и объекта, возможно ли использовать настраиваемый распределитель вместе с std::allocate_shared и по-прежнему иметь одно выделение, согласно тестовому коду,...
352 просмотров
schedule
25.08.2023
Размещение динамических векторов во внешней оперативной памяти
В настоящее время я работаю над большим собственным проектом на микроконтроллере STM32F7 cortex-m7 на C ++ с использованием GCC. Мне нужно хранить большой массив во внешней SDRAM (16 МБ), содержащий векторы структур нот (по 12 байт). У меня уже есть...
232 просмотров
schedule
27.10.2023
пользовательский распределитель для карты stl в С++
Я хочу создать собственный распределитель для мультикарты, который будет распределять элементы в общей памяти. Я наткнулся на boost.interprocess, но обнаружил, что его довольно сложно реализовать. Есть ли другой обходной путь?
572 просмотров
schedule
27.04.2023
Как выделить внутренний узел RB_tree std::map в пуле памяти в С++ 11?
std::map определение скопировано ниже:
template<
class Key,
class T,
class Compare = std::less<Key>,
class Allocator = std::allocator<std::pair<const Key, T> >
> class map;
На основе определения...
295 просмотров
schedule
01.06.2023
Существует ли стандартный адаптер/оболочка распределителя memory_resource?
Я удивлен, что не вижу стандарта или кого-либо еще (?), Предоставляющего адаптер/оболочку, чтобы стандартные распределители выглядели как std::memory_resource . Я что-то упускаю? Это просто что-то вроде
template <typename ByteAllocator>...
52 просмотров
schedule
03.05.2023