string();
: 길이가 0인 빈 문자열을 생성합니다.
<예시 코드>
#include <iostream>
using namespace std;
int main() {
string str;
cout << "str: " << str;
return 0;
}
결과
string(const string& str);
: str의 복사본을 생성합니다.
<예시 코드>
#include <iostream>
using namespace std;
int main() {
string original = "Hello";
string str(original);
cout << "original: " << original << endl;
cout << "str: " << str;
return 0;
}
결과
string(const string& str, size_t pos, size_t len = npos);
: str의 위치 pos에서 시작하여 len개의 문자까지 복사하여 생성합니다.
pos에서부터 len이 npos를 초과하더라도 npos까지만 복사합니다.
pos의 값이 str의 범위를 초과할 땐 오류가 발생합니다.
<예시 코드>
#include <iostream>
using namespace std;
int main() {
string original = "Hello";
string str(original, 1, 3);
cout << "original: " << original << endl;
cout << "str: " << str;
return 0;
}
결과
string(const char * s);
: C-style 문자열인 s를 복사하여 string 객체로 변환합니다.
<예시 코드>
#include <iostream>
using namespace std;
int main() {
const char * original = "Hello";
string str(original);
cout << "original: " << original << endl;
cout << "str: " << str;
return 0;
}
결과
string(const char * s, size_t n);
: C-style 문자열인 s의 처음부터 n개의 문자까지 복사하여 string 객체로 변환하여 생성합니다.
<예시 코드>
#include <iostream>
using namespace std;
int main() {
const char * original = "Hello";
string str(original, 4);
cout << "original: " << original << endl;
cout << "str: " << str;
return 0;
}
결과
string(size_t n, char c);
: 문자열을 n개의 문자 c로 채웁니다.
<예시 코드>
#include <iostream>
using namespace std;
int main() {
string str(5, 'k');
cout << "str: " << str;
return 0;
}
결과
template <class InputIterator>
string(InputIterator first, InputIterator last);
: [first, last) 범위 내의 문자를 동일한 순서로 복사합니다.
<예시 코드>
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<char> original = { 'h', 'e', 'l', 'l', 'o' };
string str(original.begin(), original.end());
cout << "str: " << str;
return 0;
}
결과
string(initializer_list<char> il);
: il의 각 문자를 동일한 순서로 복사합니다.
<예시 코드>
#include <iostream>
using namespace std;
int main() {
string str({ 'H', 'e', 'l', 'l', 'o' });
cout << "str: " << str;
return 0;
}
결과
string(string&& str) noexcept;
: str의 문자열을 가져옵니다.
<예시 코드>
#include <iostream>
using namespace std;
int main() {
string original = "Hello";
string str(move(original));
cout << "original: " << original << endl;
cout << "str: " << str;
return 0;
}
결과
