2013-03-21 200 views
1

想象一下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

是否有您所使用結構,而不是類的原因嗎? – diversemix 2013-03-21 16:34:34

+1

@wittybear結構是類。 – 2013-03-21 16:36:44

+0

如果我使用結構體或類,這並不重要,兩者都可以。 – Saraph 2013-03-21 16:39:30

回答

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; 
+0

我確實在我的答案中包括了......'vector messages;' – 2013-03-21 16:41:40

+0

現在這一切都有道理。謝謝。 – Saraph 2013-03-21 16:42:31