gpt4 book ai didi

c++ - 具有动态分配内存和 mmap 内存的 shared_ptr

转载 作者:行者123 更新时间:2023-11-28 06:09:00 26 4
gpt4 key购买 nike

对于我的项目,我使用具有动态分配的 structshared_ptr

在不同的地方,我正在访问相同的 struct,但是在 mmap-ed 内存上。

shared_ptr 可以使用一些技巧,以免重复现有代码吗?例如实际上不删除的自定义删除器?

我意识到这仍然有风险,但它会在很短的时间内完成 - 在函数体内,我不想复制整个结构,只是为了在它上面运行一些简单的函数。

最佳答案

您可以使用 aliasing constructor std::shared_pointer:

std::shared_ptr shm;  // points at mmap'ed region, with munmap deleter
Foo *p; // somewhere within this region

auto shared_p = std::shared_ptr{p, shm};

这将增加 shm 的引用计数,而 shared_p 是实时的。

关于c++ - 具有动态分配内存和 mmap 内存的 shared_ptr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31689268/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com