想象一下像C ++中社交网络的帐户数据库。每个帐户都有其用户名,级别(管理员等),关注此帐户的用户列表以及向此帐户发送消息的用户列表。
问题是,我想计算每个单独用户收到的消息数量,因此内部结构中的名称和计数必须链接在一起。
这是实施的好主意吗?
struct User {
string name;
int level;
vector<string> followedBy;
struct MessagedBy {
string name;
int count;
};
};
vector<User> users;
//@TODO vector of MessagedBy as an instance of User
如何在结构矢量中创建结构的矢量?我该如何指出它?
答案 0 :(得分:2)
所以,你可能想要这样的东西:
struct User {
string name;
int level;
vector<string> followedBy;
struct MessagedBy {
string name;
int count;
};
vector<MessageBy> messages;
};
然后您可以使用:
cout << "Messages from: " << users[index].messages[otherindex].name << ":" << users[index].messages[otherindex].count;