2011-01-23 12 views
2

コンストラクタの初期化リストにstd::vectorstd::pair<int,int>を初期化する方法はありますか?私はstd::vector<std::pair<int,int> >を持っていて、特定の数のペアを(0, 0)に初期化したいと思います。たとえば、あるクラスのメンバに対して3組の(0, 0)を初期化することができます。これをどうやってやりますか?初期化リストstd :: pair

答えて

8

あなたは使用するサイズにかかるstd::vectorコンストラクタとデフォルト値を使用してこれを行うことができます。

class MyClass { 
public: 
    MyClass(); 
    /* ... */ 

private: 
    std::vector<pair<int, int> > elems; 
}; 

MyClass::MyClass() : elems(3, std::make_pair(0, 0)) { 
    /* ... */ 
} 
関連する問題