c++ primer 연습문제 질문

tldrd0117의 이미지

문제 : vector로 string을 초기화하는 프로그램을 만든다.
제가 생각해낸 답은

	vector<char> vc{ 'a', 'b', 'c' };
	string temp;
	for (char k : vc)
		temp += k;
	string s(temp);
	cout << s << endl;

이건데 더 줄일 수 없을 까요
그리고
	vector<char> vc{ 'a', 'b', 'c','\0' };
	const char * a = &vc[0];
	string s(a,4);
	cout << a;

이거에서 공백문자를 vector 선언 시에
초기화 하지 않는 방법은 없을 까요?
익명 사용자의 이미지

        std::vector<char> vc{ 'a', 'b', 'c' };
        std::string temp(vc.data(), vc.size());
익명 사용자의 이미지

> 이거에서 공백문자를 vector 선언 시에
> 초기화 하지 않는 방법은 없을 까요?

안해도 됩니다.