Вопросы по теме 'allocator'

Ассоциативный контейнер - исключение, а не конструкция по умолчанию в С++
Я ищу ассоциативный контейнер в С++, где вместо того, чтобы требовать, чтобы его элементы были конструируемыми по умолчанию, будет генерировать исключение, когда запрашивается ключ, который не найден - отредактируйте: в соответствующих функциях,...
84 просмотров
schedule 20.11.2022

Второй аргумент std::vector
Глядя на vector , я понял, что никогда не использовал второй аргумент при создании векторов. std::vector<int> myInts; // this is what I usually do std::vector<int, ???> myOtherInts; // but is there a second argument there? Глядя...
1668 просмотров
schedule 28.11.2022

Пользовательский аллокатор для std::vector‹char› игнорируется
Я пытался использовать собственный распределитель для std::vector<char> , но заметил, что std::vector не нуждается/не использует какие-либо функции-члены из моего распределителя. Как это возможно? #include <vector> struct A :...
1746 просмотров
schedule 03.02.2024

Пример использования propagate_on_container_move_assignment
Я пытаюсь понять, как правильно написать AllocatorAware контейнеры. Насколько я понимаю, propagate_on_container_move_assignment typedef указывает, нужно ли копировать определенный тип Allocator , когда сам контейнер назначается для...
3723 просмотров
schedule 14.04.2024

std::allocator_traits по умолчанию с распределителем, который имеет более одного параметра шаблона
std::allocator_traits творит чудеса автоматически, когда я предоставляю контейнер в стиле STL с распределителем, имеющим один параметр шаблона, но не работает, когда я предоставляю контейнер в стиле STL с распределителем, имеющим два параметра...
695 просмотров
schedule 27.09.2022

Почему std::allocator потерял типы/функции-члены в С++ 17?
Глядя на std::allocator , я вижу, что члены: value_type , pointer , const_pointer , reference , const_reference , size_type , difference_type и rebind устарели. Распределители также больше не будут иметь членов: address , max_size ,...
2103 просмотров
schedule 30.11.2022

Используйте память после конца std::vector, используя настраиваемый распределитель с превышением доступности
Допустим, у меня есть распределитель my_allocator , который всегда будет выделять память для n+x (вместо n ) элементов при вызове allocate(n) . Могу ли я с уверенностью предположить, что память в диапазоне [data()+n, data()+n+x) (для...
133 просмотров
schedule 12.02.2024

Почему у std::vector нет метода выпуска?
Я оказался в ситуации, когда мне хотелось бы иметь аналог unique_ptr release() для std::vector<> . Например.: std::vector<int> v(SOME_SIZE); //.. performing operations on v int* data = v.release(); // v.size() is now 0 and the...
2636 просмотров
schedule 13.06.2024

ошибка: недопустимое новое выражение типа абстрактного класса в распределителе векторов
В краткой версии того, что мне нужно, мой код выглядит так #include <vector> template<typename T> class Abstract { public: virtual void foo() = 0; }; template<typename T> class Collection { public:...
286 просмотров
schedule 02.12.2022

Можно ли выделить в личном пространстве памяти объект, созданный для увеличения управляемой общей памяти?
Допустим, я набрал вектор, который будет использоваться для увеличения общей памяти. При его создании я должен передать аллокатор из manage_shared_memory, что имеет смысл. Если я хочу использовать тот же тип вектора, но размещать его не в общей...
220 просмотров
schedule 12.12.2022