2010-11-22 4 views

答えて

3

std :: vectorはそれを行います。あなたはnと定義されたノードを持っている場合は、次のように今、あなたは、そのノードに保存されているi番目のノードにアクセスすることができます

class Node 
{ 
    std::vector<NODE> mNodes; 
public: 
    int x, y; 
    Node& operator(int i) 
    { 
     return mNodes[i]; 
    } 
} 

すなわち

Node n; 
// Populate Node 
int x = n(12).x; 
int y = n(14).y; 
+0

クラスのベクター内実装やアロケータによっては同じクラスがコンパイルされないことがあります。たとえば、それをデキュを入れ替えようとしてください。対 – Inverse

+0

@Inverse:もっと深く説明できますか?私はいくつかの理由を念頭に置いていますが、どれもアロケータを必要としません。 –

+0

@Inverse:私はそのような事を聞いたことがない。ベクトルは参照のセットなので、型を知る必要はありません。これが間違っているという例を教えてもらえますか?好ましくはリンクを... – Goz

3
struct Node{ 
    float x; 
    float y; 
} 
std::vector<Node> nodes; 
std::cout<<nodes.at(i).x; 
関連する問題