Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.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++ 在分配器实现中使用提示参数的示例_C++_Allocator_Hint - Fatal编程技术网

C++ 在分配器实现中使用提示参数的示例

C++ 在分配器实现中使用提示参数的示例,c++,allocator,hint,C++,Allocator,Hint,标准分配器可以选择提示作为默认参数 撇开这一点不谈,C++20中正式反对使用它(这显然并不意味着分配器不能有hint参数): 您知道在现有代码或理论代码的标准或非标准分配器实现中,提示的良好用途吗?还是普通的历史遗迹? 我试图理解当您有多个设备(如gpu)时,当前提示是否有助于分配 注1: 我不是在问如何在cpu或GPU中分配内存,我只是想看看内部使用这个hint参数的好的或经过验证的代码,大概是效率和特定类型的内存。 即使它是一个奇异的系统 注2: 我不是问如何/如果/传递什么作为提示的参数(

标准分配器可以选择提示作为默认参数

撇开这一点不谈,C++20中正式反对使用它(这显然并不意味着分配器不能有hint参数):

您知道在现有代码或理论代码的标准或非标准分配器实现中,
提示的良好用途吗?还是普通的历史遗迹?

我试图理解当您有多个设备(如gpu)时,当前提示是否有助于分配

注1: 我不是在问如何在cpu或GPU中分配内存,我只是想看看内部使用这个
hint
参数的好的或经过验证的代码,大概是效率和特定类型的内存。 即使它是一个奇异的系统

注2: 我不是问如何/如果/传递什么作为提示的参数(即“只传递容器的当前指针”),就像在链接的问题中一样。
我是从某人实现自定义分配器的角度提出的问题。

为什么不说它不受欢迎呢?如果有好的用例,它不会被弃用,不是吗?这回答了你的问题吗@谢谢你的链接。唯一具体的例子是第一个答案(殖民地)。它似乎盲目地使用了std分配器的提示,仅仅这样做就获得了更好的性能。我是从分配器(例如,特殊内存,例如共享内存、映射内存或gpu)的实现者的角度提问的。@maxed_prime_是_463035818显然,对于分配器来说,弃用并不意味着该功能被删除,但该功能不是成为标准分配器所必需的。例如,分配器特性将继续接受提示。如果无法通过,则忽略它。谢谢,现在我明白了。似乎我没有理解“这显然并不意味着分配器不能得到提示”的含义
T* allocate( std::size_t n, const void * hint);