C++ 需要对c+的新建议+;

C++ 需要对c+的新建议+;,c++,data-structures,C++,Data Structures,我需要创建一个数据结构,到目前为止,我已经创建了一个简单的表,它由4个表示变量的不同向量组成。变量类型、布尔结果和PKB输出。我知道这不是最好的方法,但我计划使用索引进行插入和检索。但是,我遇到了查询ID的问题,因为我希望使用getMethods来检索信息。我需要找到一种方法来检索信息,这种方法要比通过索引进行检索更加顺畅。检索过程将按查询ID的批次进行 我是CPluPlus的新手,我不确定是什么数据结构或如何解决它。我不希望得到直接的答复,但一个建议就足够了。我可能从未听说过的名字。如果你有一

我需要创建一个数据结构,到目前为止,我已经创建了一个简单的表,它由4个表示变量的不同向量组成。变量类型、布尔结果和PKB输出。我知道这不是最好的方法,但我计划使用索引进行插入和检索。但是,我遇到了查询ID的问题,因为我希望使用getMethods来检索信息。我需要找到一种方法来检索信息,这种方法要比通过索引进行检索更加顺畅。检索过程将按查询ID的批次进行

我是CPluPlus的新手,我不确定是什么数据结构或如何解决它。我不希望得到直接的答复,但一个建议就足够了。我可能从未听说过的名字。如果你有一个循序渐进的指南,那将是最好的

---查询ID----变量---变量类型---bool结果----PKB输出

----1-----------------x------赋值-----------真-----------空 -------------------------------------------------1-----------------w----------而-----------------假------------空 -------------------------------------------------1-----------------ifstat----------if--------------------false----------null
------------------------------------------------2------------------x------赋值------假-----------空-----------------------------------------------

我想我没有完全理解这个问题。但我认为你使用的是包含向量定义的标准库,这意味着你必须使用该标准的getter和setter。我只需要使用向量中已经定义的getter,通过快速搜索算法生成一个函数。

根据我对阅读你的问题的理解,可以使用
int
struct
使用
std::multimap
。比如说

// C++11 for nullptr
#include <string>
#include <map>

struct Data {
    std::string variable;
    std::string variableType;
    bool        result;
    PKB         output;    // I suppose PKB is an already defined type

    Data(std::string var, std::string varType, bool res = false, PKB out = nullptr) :
        variable(var), variableType(varType), result(res), output(out) {}

    inline bool operator <(const Data & rhs) {
        . . .    // Add your own comparison logic
    }
};

std::multimap<int, Data> myMap;
myMap.insert((1, Data("x", "assignment", true)));
myMap.insert((1, Data("w", "while")));
myMap.insert((1, Data("ifstat", "if")));
myMap.insert((2, Data("x", "assignment")));
//C++11用于nullptr
#包括
#包括
结构数据{
std::字符串变量;
std::字符串变量类型;
布尔结果;
PKB output;//我假设PKB是一个已经定义的类型
数据(std::string var,std::string varType,bool res=false,PKB out=nullptr):
变量(var)、变量类型(varType)、结果(res)、输出(out){

inline bool运算符如果您想为特定查询id查找一些数据,则需要有一个数组(在计算科学意义上)用该ID索引,或者使用关联容器。C++提供了代码> STD::vector < /代码>,用于灵活大小的数组管理,并且可以使用<代码> STD::MAP< /CUT>作为通用关联容器。“如果你有一步一步的指南,最好”。-您可以搜索关于这些标准库类型以及如何使用它们的教程,在s.O.答案中详细说明太多了,对非站点资源的请求是非主题的。该图应该是什么?请以可读的格式发布。粘贴格式化的图,用鼠标标记,然后单击
{}
工具或键入Ctl-k将其标记为文字代码。
std::map
std::unordered_map
似乎就是您要找的