Tôi cóC++ vector của cặp khởi
vector< pair<int, int>> myVec (N);
Tôi muốn có tất cả các cặp khởi tạo -1, -1.
Tôi cóC++ vector của cặp khởi
vector< pair<int, int>> myVec (N);
Tôi muốn có tất cả các cặp khởi tạo -1, -1.
Ở đâ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.
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);
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
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
Có, sử dụng danh sách khởi tạo: 'vector> myVec = {{-1, -1}, {2, 5}, {3, 10}}; ' –
mfontanini