Pointers are simple. They have no more constructor than ints do. Therefore, emplace_back and push_back are probably quite similar for your vector.
Yes, the choice of constructor is up to you. However, syntactically:
1 2 3 4 5
Items * o = new Items; // ok
Items * p = new Items( string str ); // error
Items * q = new Items( "Hello" ); // ok
string foo { "world" };
Items * r = new Items( foo ); // ok