C++ Chapter 17.5 : string 대입, 교환, 덧붙이기, 삽입

Date:     Updated:

카테고리:

태그:

인프런에 있는 홍정모 교수님의 홍정모의 따라 하며 배우는 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에 대입될 것.
  • 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

  1. std::swap(a, b)를 사용하거나
  2. 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)
    • str2str1뒤에 덧붙인다
  • string 생성자처럼 여러 형태로 매개변수 받을 수 있음.

push_back

  • str.push_back(char)
    • vector같이 쓰는거라서 문자열의 맨 끝에 + 인수로 들어간 문자 1개를 덧붙이는 형태만 붙일 수 있다.
      • str1.push_back(‘A’); ⭕
      • str1.push_back(“AB”); ❌

+

  • 문자열끼리 +연산하면 뒤에 덧붙일 수 있다.
    • 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;
}


🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우 
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄

맨 위로 이동하기

댓글남기기