std::string
の配列を使ってベクトルを初期化したいとします。std :: stringのベクトルを配列で初期化する
私は以下の解決策を持っていますが、これを行うもっとエレガントな方法があるのだろうか?
int size = (sizeof (str)/sizeof (std::string));
として、ベクターの初期化を置き換える:
std::string str[] = { "one", "two", "three", "four" };
vector<std::string> vec;
vec = vector<std::string>(str, str + (sizeof (str)/sizeof (std::string)));
次のように私は、もちろん、サイズを定義することで、これは読みやすくすることができ
vec = vector<std::string>(str, str + size);
しかし、これはまだ感じています少し "控えめな"。
http://stackoverflow.com/questions/231491/how-to-initialize-const-stdvectort-like-ac-array –