std::map
определение скопировано ниже:
template<
class Key,
class T,
class Compare = std::less<Key>,
class Allocator = std::allocator<std::pair<const Key, T> >
> class map;
На основе определения std::map
мы можем предоставить настраиваемый распределитель для его Key и Value.
Вопросы:
- В большинстве случаев
std::map
реализуется деревом RB. Как мы можем предоставить индивидуальный распределитель для узла дерева RB? Боюсь, что мы не сможем этого сделать. - Если ответ на первый вопрос заключается в том, что мы НЕ можем предоставить настраиваемый распределитель для узла дерева RB, мы можем НЕ предоставить настраиваемый распределитель для других контейнеров на основе узлов (например,
std::lis
t иstd::set
), либо. Пожалуйста, подтвердите правильность моего понимания.
sizeof(std::size_t)
, который исходит от указателей node. Возможно, поможет следующая ссылка: -use-with" title="как вы определяете размер узлов, созданных stdmap для использования с"> stackoverflow.com/questions/22951378/ - person wychmaster   schedule 24.10.2019