C++ Chapter 17.5 : string 대입, 교환, 덧붙이기, 삽입
카테고리: Cpp
태그: Cpp Programming
인프런에 있는 홍정모 교수님의 홍정모의 따라 하며 배우는 C++ 강의를 듣고 정리한 필기입니다. 😀
🌜 [홍정모의 따라 하며 배우는 C++]강의 들으러 가기!
chapter 17. std::string 문자열 클래스
string 대입, 교환, 덧붙이기, 삽입
🔔 대입
=
,assign
assign
인수로 들어온 string을 자기 자신에게 대입한 후 자기 자신의 레퍼런스를 리턴한다.
str2.assign(str1)
str1
string을str2
에 대입한다.
- assign 뒤에 append 붙여 문자열을 계속 덧붙일 수도 있다.
- str2.assign(“two”).append(“ “).append(“three “).append(“Four.”);
- “two three Four” 가
str2
에 대입될 것.
- “two three Four” 가
- str2.assign(“two”).append(“ “).append(“three “).append(“Four.”);
- 17.2 포스트에서 배운 여러가지 string 생성자처럼 asssign도 매개변수 형태가 다양하다.
assign("two", 1)
“two”의 1글자 이후부터 대입 시작
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str1("one");
string str2;
str2 = str1;
str2 = "two";
str2.assign("two");
cout << str2 << endl;
return 0;
}
🔔 교환
swap
std::swap(a, b)
를 사용하거나std::string
의 함수swap
사용str1.swap(str2)
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str1("one");
string str2("two");
cout << str1 << " " << str2 << endl; // one two
std::swap(str1, str2);
cout << str1 << " " << str2 << endl; // two one
str1.swap(str2);
return 0;
}
🔔 덧붙이기
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str1("one"); // str1 = "one"
string str2("two"); // str2 = "two"
str1.append("three"); // str1 = "onethree"
str1.push_back('A'); // str1 = "onethreeA"
str1 += "three"; // str1 = "onethreeAthree"
str2 = str1 + "four"; // str2 = "onethreeAthreefour"
cout << str1 << endl; // "onethreeAthree" 출력
cout << str2 << endl; // "onethreeAthreefour" 출력
return 0;
}
append
str1.append(str2)
str2
를str1
의 뒤에 덧붙인다
- string 생성자처럼 여러 형태로 매개변수 받을 수 있음.
push_back
str.push_back(char)
- vector같이 쓰는거라서 문자열의 맨 끝에 + 인수로 들어간 문자 1개를 덧붙이는 형태만 붙일 수 있다.
- str1.push_back(‘A’); ⭕
- str1.push_back(“AB”); ❌
- vector같이 쓰는거라서 문자열의 맨 끝에 + 인수로 들어간 문자 1개를 덧붙이는 형태만 붙일 수 있다.
+
- 문자열끼리
+
연산하면 뒤에 덧붙일 수 있다.str1 + str2
👉🏻str1
뒤에str2
이 덧붙는다.
🔔 삽입
insert
- insert ( 정수, 문자열 ) : 해당 정수 인덱스 위치에 문자열을 삽입한다.
- str.insert(2, “bbb”); string 생성자처럼 여러 형태로 매개변수 받을 수 있음.
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str("aaaa");
str.insert(2, "bbb"); // 인덱스2 자리에 bbb 삽입
cout << str << endl; // "aabbbaa" 출력
return 0;
}
🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄
댓글 남기기