gpt4 book ai didi

c++ - 使用不同的键搜索数据

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:02:22 24 4
gpt4 key购买 nike

我不是 C++ 和 STL 方面的专家。

我使用 Map 中的结构作为数据。关键是一些 C1 类。我想访问相同的数据,但也使用不同的 key C2(其中 C1 和 C2 是两个不相关的类)。

在不复制数据的情况下这可能吗?我尝试在谷歌中搜索,但很难找到我能理解的答案。

这是针对不支持 boost 库的嵌入式目标。

有人可以提供帮助吗?

最佳答案

您可以将指针存储为数据作为std::map值,并且您可以有两个具有不同键的映射指向同一个数据。

我认为像 std::shared_ptr 这样的智能指针在这种共享数据所有权的情况下是一个不错的选择:

#include <map>       // for std::map
#include <memory> // for std::shared_ptr

....

std::map<C1, std::shared_ptr<Data>> map1;
std::map<C2, std::shared_ptr<Data>> map2;

Data 的实例可以使用 std::make_shared() 分配。

关于c++ - 使用不同的键搜索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17673722/

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