gpt4 book ai didi

双重访问查找操作所需的结构的 C++ 容器

转载 作者:行者123 更新时间:2023-11-28 08:21:20 26 4
gpt4 key购买 nike

我有一个结构需要放入 C++ 容器中。这是结构:

struct PDCUTestMessage
{
string name;
unsigned char id;
int numberOfParameters;
string param1Name;
string param2Name;
string param3Name;
string param4Name;
string param5Name;
boost::function<void(vector<unsigned char>)> process;
PDCUTestMessage();
PDCUTestMessage(string_name, unsigned char _id, int _numberOfParameters, boost::function<void(vector<unsigned char>)> _process): name(_name), id(_id), numberOfParameters(_numberOfParameters), process(_process){}
};

我将需要大约 65 个这样的结构,因此我希望将它们放入一个容器中(我想是一个列表、一个 vector 或一个映射)。我需要能够通过两个不同的搜索值访问给定 PDCUTestMessage 的函数指针(进程):name 和 id。我注意到 map 只允许一个值和一个键。是否有任何容器可以让我使用 name 或 id 作为键快速搜索 PDCUTestMessage ?我将如何编写搜索和访问指针指向的函数?

我希望这是有道理的。如果您需要进一步说明,请告诉我。

谢谢!

最佳答案

由于您已经在使用 boost,因此 boost.multi-index容器库可能在这里有用。特别是,请考虑 Multiple sort 中的示例教程部分。

关于双重访问查找操作所需的结构的 C++ 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5719914/

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