Ниже приведен фрагмент моего кода:
struct TestPMR
{
std::vector<int> a;
std::vector<int> b;
};
Я хотел бы использовать свой собственный ресурс памяти для векторов a
и b
. Что-то вроде std::pmr::new_delete_resource()
. Следующий код является примером того, что именно я хотел бы реализовать:
auto mr = std::pmr::new_delete_resource();
std::pmr::vector<int> a(mr);
Приведенный выше код хорошо работает при использовании в функции, например:
void dummy_fn(){
auto mr = std::pmr::new_delete_resource();
std::pmr::vector<int> a(mr);
another_dummy_fn(a);
}
void another_dummy_fn(std::pmr::vector<int> v){
...
}
Как я могу использовать то же самое внутри структура TestPMR
, чтобы все экземпляры этой структуры выделяли память в данном ресурсе памяти? Я попробовал std::pmr::vector<int> a(std::pmr::new_delete_resource())
, и возникла ошибка: std::pmr::new_delete_resource() is not a type name
функция typedef не является именем типа? Эта ссылка не ответила на мой вопрос.