감자였던 내가 이세계에선 개발자꿈나무?!

사실은 감자

ASSINGMENT/고급 C++

[과제] C++ string class 에 대해 알아보자!

이빨빠진 옥수수 2023. 3. 23. 20:34

참 많이 쓰는 클래스인데...

이거에 대해 제대로 알아본 적이 없는 것 같다....

그럼 한 번 알아보도록 하자

 


string 클래스는? 헤더파일로 호출하는 것이며, stl에 기본 제공돼있는 클래스이다.

string에 대해 심도있게 다루는 코드를 짜기 위해서는 거의 필수로 불러오는 클래스.

 

python입장에선 꽤나 충격적일 수 있다. 

"string이 없어??????" 라고 생각할 수 있기 때문,

있긴 있다@! char라는 녀석이 있는데...

이 친구는 C언어의 아주 (불)친절한 특징인 메모리에 직접 접근하는 특징 때문일까? 

선언해줄 때 크기도 같이 선언해줘야 한다. 그리고 그 크기만큼 할당을 못 해줄 때에는?

쓰레기값이 생성된다....(ㄴ런ㅇ런이;ㅏㅓㅇㄴ;ㅣ약간 이런 느낌이였던 거 같음)

 

그런 불편함을 없애준 것이 바로 string 클래스이다.

 

우리 string 클래스 에서는요..

 

 

string str 스트링 호출하기
string str1 = "abcde" 스트링 호출 후 "abcde"
str[i] 스트링의 i 번째 인덱스 호출
str.length()
str.size()
스트링의 길이 반환
str.capacity() 스트링의 "메모리 용량" 반환
str.append() n번째 인덱스에 값 넣어주기
str.push_back() 마지막 인덱스에 값 넣어주기
str.pop_back() 마지막 인덱스의 값 빼기
str.find() 괄호 안의 값 찾기
isdigit(str)
isalpha(str)
숫자 혹은 알파벳의 일치 불일치에 따라
true or false
tolower(str)
toupper(str)
스트링에 있는 값 모두 대문자 혹은 소문자로 변환
str.clear() 스트링 안의 값 다 지움

이 밖에도 string 클래스 내에 관련 함수들이 많다.

 

string의 가장 큰 장점인 메모리의 크기가 동적할당이 된다는 점이기 때문에 이런저런 함수를 사용가능하다

= 값을 넣었다 뺐다 할 수 있다.

 

따라서 난 개인적으로 char 보다 많이 쓰는데..