如何在动态矩阵中创建主键

时间:2016-04-06 10:05:13

标签: c++ pointers vector dynamic primary-key

我不知道如何创建一个动态std :: vector,我想在其中将Usernames分配为PrimaryKeys,每个用户名都是指向包含具有以下信息的结构的另一个动态向量的指针:

void* gp;   

我附上一张说明性图片,以使其更清晰: Primary Key

其中,用户名向量是指向前面提到的结构向量的主键。

我怎么定义它?

1 个答案:

答案 0 :(得分:1)

我不想使用用户名向量,而是使用map,这样可以保证用户名保持唯一。

#include <map>
#include <vector>
#include <string>
#include <iostream>

struct message{
    int id;
    char *msg;
    const std::string time;
};


    int main()
    {
        std::map<std::string,std::vector<message *> > data;
        message message1,message2;
        message1.id  = 1;
        message1.msg = "Hi";

        message2.id  = 2;
        message2.msg = "Hello";
        std::vector<message *> messages;
        messages.push_back(&message1);
        messages.push_back(&message2);
        data["smith"] = messages;
        std::cout << (data["smith"]).at(0)->msg << std::endl;

    }