이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요 ;)
이번 포스팅에서는 string의 대입, 교환, 덧붙이기, 그리고 삽입에 대해 알아보겠습니다.
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str1("one");
string str2;
str2 = str1;
str2 = "two";
str2.assign("two");
cout << str2 << endl; // "two" 출력
}
string 자료형의 변수에 값을 입력하는 방법에는 위와 같이 다양한 방법들이 존재합니다.
str2.assign("two").append("three");
cout << str2 << endl; // "twothree" 출력
위의 코드 블록에서는 string의 기능 중 append를 사용했습니다. append란 덧붙이기라는 뜻으로 기존의 string 자료형 변수에 저장된 값 바로 뒤에 새로운 값을 덧붙여줍니다. append라는 이름을 가진 기능은 다른 여러 곳에서도 사용되니 의미를 알고 계시면 좋을 것 같습니다.
str1.append("three");
str1 += "three";
str1 = str2 + "four";
추가적으로 append는 위와 같은 방식으로도 사용할 수 있습니다.
int main()
{
string str1("one");
string str2("two");
cout << str1 << " " << str2 << endl; // "one two" 출력
std::swap(str1, str2);
cout << str1 << " " << str2 << endl; // "two one" 출력
}
이번에 사용할 기능은 swap이라는 기능입니다. swap은 두 변수에 저장된 값을 교체해주는 기능으로
위의 코드 블록에서 나타나듯이 처음엔 각각 "one"과 "two"가 저장된 str1, str2의 값이 swap 함수를 사용한 뒤에는 서로 바뀐 값이 출력됩니다.
str1.swap(str2);
cout << str1 << " " << str2 << endl; // 다시 "one two" 출력
string 자료형 자체에도 swap 함수를 멤버 함수로 가지고 있기 때문에, 위와 같이 str1.swap(값을 교체할 변수)와 같은 형식으로 사용하면 std::swap과 같이 값이 변경되는 걸 볼 수 있습니다.
int main()
{
string str("aaaa");
str.insert(2, "bbb");
cout << str << endl; // "aabbbaa" 출력
}
또한 string에서는 insert 기능 역시 지원하고 있기 때문에 vector, list 등등의 컨테이너에서 insert를 사용하는 것처럼 이용할 수 있습니다.
'Information Technology > C++' 카테고리의 다른 글
[C++] ostream으로 출력하기 (0) | 2019.12.24 |
---|---|
[C++] istream으로 입력받기 (0) | 2019.12.23 |
[C++] 클래스와 const (0) | 2019.12.18 |
[C++] 포인터와 const (0) | 2019.12.17 |
[C++] 정적 바인딩과 동적 바인딩 (0) | 2019.12.13 |