如何将AERT_Allocate与 std:vector 一起使用

How to use AERT_Allocate with std:vector

本文关键字:vector 一起 std AERT Allocate      更新时间:2023-10-16

我正在编写一个Windows音频处理对象(APO(驱动程序,目前正在使用std::vector<float>以方便管理音频缓冲。

我注意到 MS 要求我只能使用锁定的内存,并且有一个方便的实用程序:AERT_Allocate

我希望能够在我的std::vector<float>中使用AERT_Allocate
有人可以提供有关如何执行此操作的指导/代码片段,还是在这种情况下我必须恢复使用纯 C 数组或其他结构?

谢谢!

std::vector实际上根本不分配任何内存,因为它是由分配器完成的,可以在向量构造时提供。矢量仅管理分配器分配的内存。它默认使用 std::分配器,但您可以使用AERT_Allocate轻松编写自己的分配器。不过,它必须满足分配器命名的要求,这意味着您必须为模板提供足够的接口才能使用。

例如,您可能希望将AERT_Allocate放入分配器的allocate()成员函数中,这是分配器的命名要求之一。