Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c+中stl::map的重载分配器和解除定位器+; 是否有可能在C++中加载STL::map的分配器/解除定位器?如果是,那怎么办? 非常感谢您的帮助。_C++_Allocator - Fatal编程技术网

c+中stl::map的重载分配器和解除定位器+; 是否有可能在C++中加载STL::map的分配器/解除定位器?如果是,那怎么办? 非常感谢您的帮助。

c+中stl::map的重载分配器和解除定位器+; 是否有可能在C++中加载STL::map的分配器/解除定位器?如果是,那怎么办? 非常感谢您的帮助。,c++,allocator,C++,Allocator,是的,您可以将其指定为模板参数: map<Key, Data, Compare, Alloc> map 请参见和是的,可以这样做。如果您注意到的话,所有STL容器都是通过一个模板参数进行参数化的,该参数指示应从何处获取内存。这通常是通过STD::allocator类型完成的,但是您也可以提供自己的自定义分配器。这不容易做到,因为分配器需求中存在各种设计限制,但是有几个很好的链接。这里有一个:

是的,您可以将其指定为模板参数:

map<Key, Data, Compare, Alloc>
map

请参见和

是的,可以这样做。如果您注意到的话,所有STL容器都是通过一个模板参数进行参数化的,该参数指示应从何处获取内存。这通常是通过STD::allocator类型完成的,但是您也可以提供自己的自定义分配器。这不容易做到,因为分配器需求中存在各种设计限制,但是有几个很好的链接。这里有一个: