[[[문제]]]: 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 |