Chciałbym zainicjować wektor używając tablicy std::string
s.Inicjalizacja wektora std :: string z tablicą
Mam następujące rozwiązanie, ale zastanawiałem się, czy istnieje bardziej elegancki sposób robienia tego?
std::string str[] = { "one", "two", "three", "four" };
vector<std::string> vec;
vec = vector<std::string>(str, str + (sizeof (str)/sizeof (std::string)));
Mógłbym, oczywiście, zrobić to bardziej czytelne poprzez określenie rozmiaru, co następuje:
int size = (sizeof (str)/sizeof (std::string));
i zastąpienie inicjalizacji wektorowych z:
vec = vector<std::string>(str, str + size);
Ale to nadal czuje się mały "nieelegancki".
Zobacz http://stackoverflow.com/questions/231491/how-to-initialize-const-stdvectort-like-ac-array –