Вопросы по теме 'allocator'
Как я могу заставить объект построить себя в определенном месте в памяти?
Возможный дубликат: Создать новый C++ объект по определенному адресу памяти?
Я пишу то, что по сути является распределителем пула объектов, который будет выделять один класс. Я выделяю ровно столько памяти, сколько нужно для объектов,...
375 просмотров
schedule
14.05.2023
Распределитель C ++ STL против оператора new
Согласно C ++ Primer 4th edition, стр. 755, есть примечание:
Современные программы на C ++ обычно должны использовать класс распределителя для выделения памяти. Это безопаснее и гибче.
Я не совсем понимаю это утверждение. Пока что все...
13972 просмотров
schedule
21.11.2022
предложения по улучшению реализации алгоритма распределителя
У меня есть приложение Visual Studio 2008 C++, в котором я использую настраиваемый распределитель для стандартных контейнеров, так что их память поступает из файла с отображением памяти, а не из кучи. Этот распределитель используется для 4 различных...
354 просмотров
schedule
08.02.2024
Пользовательский распределитель памяти для OpenCV
Можно ли установить собственный распределитель для OpenCV 2.3.1? У меня создан пул памяти, и я хочу, чтобы OpenCV использовал этот пул для того, что ему нужно.
Это возможно? Если да, то как это можно сделать?
Обновлено:
Я сделал некоторые...
2026 просмотров
schedule
07.06.2022
Можно ли вызывать allocator::deallocate() в другом порядке, чем вызов allocator::allocate()?
N3485 20.6.9.1 [allocator.members]/1 говорит:
Вызовы этих функций, которые выделяют или освобождают конкретную единицу памяти, должны происходить в едином общем порядке, и каждый такой вызов освобождения должен происходить до следующего...
116 просмотров
schedule
11.01.2023
Как сделать мой uninitialized_allocator безопасным?
Следуя этому вопросу , я хочу использовать unitialised_allocator с , скажем, std::vector , чтобы избежать инициализации элементов по умолчанию при построении (или resize() из std::vector (см. также здесь для варианта использования). Мой...
315 просмотров
schedule
29.10.2022
Распределитель карт С++ хранит элементы в векторе?
Вот проблема, которую я хотел бы решить: в C++ итераторы для карты, мультикарты и т. д. отсутствуют две желательные функции: (1) их нельзя проверить во время выполнения на достоверность и (2) нет оператора ‹ определены для них, что означает, что они...
186 просмотров
schedule
20.03.2022
Как использовать распределитель для std::vector?
я действительно не получаю поля шаблона std::vector, первый указывает тип, например класс, но я не получаю распределитель, указатель и ссылочные переменные.
я приведу простой пример, я хочу использовать вектор класса person, поэтому я должен...
3324 просмотров
schedule
02.12.2022
Почему у типа shared_ptr нет параметра распределения шаблонов?
shared_ptr определяется как
template< class T > class shared_ptr;
пользовательский распределитель передается как аргумент конструктора
template< class Y, class Deleter, class Alloc >
shared_ptr( Y* ptr, Deleter d, Alloc alloc...
185 просмотров
schedule
12.10.2022
Как я могу создать std::function с настраиваемым распределителем?
Чтобы сохранить некоторый код, скажем, у меня есть собственный распределитель с именем MyAlloc , который я успешно использовал с std::vector<int> следующим образом:
std::vector<int,MyAlloc<int>> vec;
теперь я хочу...
5130 просмотров
schedule
25.07.2022
почему есть две функции std::allocator::construct?
Стандарт предоставляет две функции конструкции в std::allocator<T> для размещения нового синтаксиса ниже:
void construct( pointer p, const_reference val ); (1) (until C++11)
template< class U, class... Args >
void construct( U* p,...
101 просмотров
schedule
03.01.2023
Непрерывное выделение памяти для нескольких небольших std::vectors?
Я хотел бы найти способ хранить несколько std::vectors , каждый из которых имеет разный, но известный и достаточно небольшой размер, в непрерывной памяти. Я понимаю, что мог бы написать свой собственный класс, скажем, с очень большим массивом и с...
1309 просмотров
schedule
09.02.2023
Apple Clang: невозможно скомпилировать вызов std :: erase для вектора с настраиваемым распределителем
У меня есть следующий фрагмент кода:
#include <algorithm>
#include <memory>
#include <vector>
// Example allocator, doesn't do anything but implements std::allocator_traits
template<typename T>
struct null_allocator {...
399 просмотров
schedule
28.12.2022
std::string с настраиваемым распределителем
Итак, в настоящее время я пишу отладчик памяти, и для этого мне нужны объекты контейнера stl для использования неотслеживаемого распределителя.
У меня есть std::string, приправленный всей моей кодовой базой, поэтому я набрал его, чтобы использовать...
7839 просмотров
schedule
14.01.2023
почему std :: allocator :: deallocate требует размера?
std::allocator - это абстракция над базовой моделью памяти, которая включает в себя функции вызова new и delete . delete размер не нужен, но deallocate () требует этого.
void deallocate (T * p, std :: size_t n); «Аргумент n...
1651 просмотров
schedule
12.11.2022
Как решить неожиданный std::allocator при компиляции кода?
Я определил конструктор класса, как показано ниже:
struct TestClass
{
TestClass(std::uint8_t, std::vector<Type>)
{
//...
}
};
Затем я хочу использовать тест Google для выполнения модульного теста, ошибка компиляции...
2652 просмотров
schedule
09.05.2022
Какова цель и использование `memory_resource`?
Стандарт C++17 включает новое пространство имен pmr , включающее набор классов, сгруппированных под именем memory_resource .
После поиска в Интернете я нашел очень мало вульгарной информации о нем, прямое следствие этого вопроса:
Какие...
3390 просмотров
schedule
27.06.2023
Каков порядок присваиваний внутри конструктора перемещения по умолчанию?
В настоящее время я работаю над собственным распределителем на С++. Этот распределитель должен регулярно дефрагментировать свою память, перемещая память и объекты. Эти сдвиги всегда нисходящие, а это означает, что адрес перемещаемого фрагмента...
144 просмотров
schedule
28.03.2023
Как передать пользовательский распределитель в std::basic_ostringstream в C++11?
Я хочу использовать настраиваемый распределитель для выделения памяти из свободного списка для std::basic_ostringstream . Вот мой пользовательский распределитель, который я хочу использовать:
template <class Tp>
struct NAlloc {...
1571 просмотров
schedule
11.07.2022
Как использовать предоставленный GCC распределитель (например, malloc_allocator, debug_allocator, __pool_alloc)?
По умолчанию GGC использует `new_allocator. Как я могу использовать другие распределители, такие как debug_allocator/malloc_allocator?
Я сделал что-то вроде этого:
typedef std::basic_string<char, std::char_traits<char>,...
201 просмотров
schedule
07.08.2022