Tôi có một bộ sưu tập định nghĩa là -vector - ghép nối thống nhất khởi
using Parameters = std::vector<int>;
using Group = std::pair<std::string, Parameters>;
std::vector<Group> inputs;
Ý định của tôi là sử dụng những câu như
inputs.push_back(group0 /*What goes in here ?*/);
inputs.push_back(group1 /*What goes in here ?*/);
Làm thế nào tôi có thể khởi tạo group0
và group1
sử dụng danh sách initializer? Mã này như thế này dường như không làm việc
inputs.push_back(std::make_pair("group0", {1, 2, 3, 4}));
EDIT: Có là câu hỏi đã tồn tại trên vector cặp khởi nhưng tôi không thể nhìn thấy bất cứ nơi second
của std::pair
lại là một bộ sưu tập .
Hãy nhìn vào [ 'vector :: emplace_back()'] (http://www.cplusplus.com/reference/vector/vector/emplace_back/). Nó xây dựng tại chỗ tức là bạn có thể truyền các đối số trực tiếp và cá thể của 'Nhóm' được xây dựng tại nơi lưu trữ" cuối cùng ". – Scheff