: -, std::initializer_list, , , ( [over.match.list]).
a std::initializer_list<E> const E[N] N ( [ dcl.init.list]/5).
vector<string> v = {{"a", "b"}}; initializer_list<string>, 1 const string, string, {"a", "b"}. - string, , ( UB, ). .
vector<int> v = {{2, 3}}; initializer_list<int>, 1 const int, int {2, 3}. .
, vector. :
vector(vector&& ), , , {2, 3} - 2 const int, .vector(std::initializer_list<int> ), . , initializer_list {2, 3}, .
, [over.ics.list], vector(vector&& ) , vector(initializer_list<int> ) identity, .
, vector(vector const&) , .