我有一个需要放入C++容器的结构。这里是结构: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,所以我希望把它们放入一个容器(我在想一个列表,向量,或地图)。我需要能够通过两个不同的搜索值:name和id来访问给定PDCUTestMessage的函数指针(进程)。我注意到地图只允许一个值和一个键。有没有任何容器可以让我快速搜索使用名称或ID作为密钥的PDCUTestMessage?我该如何编写搜索并访问指针指向的函数?
我希望这是有道理的。让我知道你是否需要进一步澄清。
谢谢!
如果你有“约65”的对象,使用std :: vector会很好。 – 2011-04-19 17:10:30