Deseo inicializar un vector usando una matriz de std::string
s.Inicializando un vector de std :: cadena con una matriz
Tengo la siguiente solución, pero me pregunto si hay una forma más elegante de hacerlo.
std::string str[] = { "one", "two", "three", "four" };
vector<std::string> vec;
vec = vector<std::string>(str, str + (sizeof (str)/sizeof (std::string)));
Podría, por supuesto, que esto sea más legible para definir el tamaño de la siguiente manera:
int size = (sizeof (str)/sizeof (std::string));
y reemplazando el vector de inicialización con:
vec = vector<std::string>(str, str + size);
Pero esto todavía se siente una poco "poco elegante".
Ver http://stackoverflow.com/questions/231491/how-to-initialize-const-stdvectort-like-ac-array –