2012-06-19 47 views

Trả lời

33

Ở đây bạn đi:

#include <utility> 

vector<pair<int, int>> myVec (N, std::make_pair(-1, -1)); 

Đối số thứ hai để xây dựng mà là giá trị ban đầu mà các cặp N sẽ mất.

+0

làm việc đẹp, cảm ơn! Tôi phải đợi 12 phút để chấp nhận câu trả lời. – MyNameIsKhan

+0

là có thể khởi tạo vectơ thành các giá trị khác nhau, tức là cung cấp cặp cho mỗi phần tử vectơ? – javapowered

+13

Có, sử dụng danh sách khởi tạo: 'vector > myVec = {{-1, -1}, {2, 5}, {3, 10}}; ' – mfontanini

5

Chỉ cần thêm một số thông tin bổ sung (không hoàn toàn những gì Người hỏi muốn, nhưng yêu cầu trong các ý kiến ​​của câu trả lời được chấp nhận):

khởi cá nhân có thể được thực hiện với (C++ 11):

std::vector<std::pair<int, int> > vec1 = { {1, 0}, {2,0}, {3,1} }; 

std::vector<std::pair<int, int> > vec2 = {std::make_pair(1, 0), 
              std::make_pair(2, 0), 
              std::make_pair(3, 0)}; 

Trong tiêu chuẩn cũ C++, một cái gì đó như thế này sẽ làm việc:

const std::pair<int,int> vals[3] = {std::make_pair(1, 0), 
            std::make_pair(2, 0), 
            std::make_pair(3, 0)}; 
std::vector<std::pair<int, int> > vec2 (&vals[0], &vals[0] + 3);