我不知道如何创建一个动态 std::vector,我想在其中分配用户名作为主键,并且每个用户名都是指向另一个动态 vector 的指针,该 vector 包含具有以下信息的结构:
struct message{
int id;
char *msg;
const string time;
};
其中用户名 vector 是指向前面提到的结构 vector 的主键。
我该如何定义它?
最佳答案
我更喜欢使用 map 而不是使用用户名 vector ,这将保证用户名保持唯一。
#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;
}
关于c++ - 如何在动态矩阵中创建主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36447870/