---C++ 역량 강화---/STL 공부

string class 문자열 합치기

코리아탑클 2024. 6. 3. 17:26

[[[문제]]]: string s 객체를 만들고 +기호를 이용하여 여러가지 문자열을 합쳐서 s 객체 안에 집어넣어라.

 

[[[풀이]]]

1. string class 혹은 wstring class는 operator+를 지원한다.

2. operator+가 동작하는 방식은 string 객체끼리의 문자열을 합하는 것이다.

컴파일 오류가 난다.

"a", "3", "4" 모두 const char*형이다. 문자열 리터럴 덧셈이다.

const char*은 클래스도 아니고 그냥 쌩 문법이다. 당연히 안된다.

 

==해결1==

string객체와 문자열 리터럴 덧셈은 가능하다.

string class에 operator+가 const char*의 덧셈을 지원하기 때문이다.

 

==해결2==

이렇게 반대로도 가능하다.

 

==해결3==

string객체끼리의 덧셈도 당연히 가능하다.

 

==결론==

string객체는 문자열을 더할 수 있는 operator+를 지원한다.

 

==그 외==

복사 대입 연산자도 가능하다.

to_string으로 string변환 했으니 문자열 덧셈이 가능하다.

 

==함수 구현==

그냥 사용법만 이해하고 넘어가려 했는데 함수 구현을 참을수가 없다.

string 자체를 구현하기는 어려우니 멤버 변수로 string을 만들고

operator+연산을 할 때 어떻게 할지 고민해 봤다.

 

'---C++ 역량 강화--- > STL 공부' 카테고리의 다른 글

stable_sort  (0) 2024.06.04
uniform initialization  (0) 2024.06.03
to_string, to_wstring  (0) 2024.06.03
class 대신 struct 쓰는 이유  (0) 2024.05.31
partition, nth_element, partitial_sort, sort  (0) 2024.05.31