2011-01-23 215 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)) { 
    /* ... */ 
}