Tôi muốn khởi tạo một vectơ sử dụng một mảng std::string
s.Khởi tạo một vectơ std :: string với một mảng
Tôi có giải pháp sau đây, nhưng tự hỏi liệu có cách nào thanh lịch hơn để thực hiện việc này không?
std::string str[] = { "one", "two", "three", "four" };
vector<std::string> vec;
vec = vector<std::string>(str, str + (sizeof (str)/sizeof (std::string)));
tôi có thể, tất nhiên, làm cho điều này dễ đọc hơn bằng cách xác định kích thước như sau:
int size = (sizeof (str)/sizeof (std::string));
và thay thế khởi vector với:
vec = vector<std::string>(str, str + size);
Nhưng điều này vẫn cảm thấy một ít "không thích hợp".
Xem http://stackoverflow.com/questions/231491/how-to-initialize-const-stdvectort-like-ac-array –