포큐아카데미 c++3200강의 내용을 개인학습용으로 정리한 내용입니다.
[C++/공부/강의/POCU3200/정리]string
포큐아카데미 c++3200강의 내용을 개인학습용으로 정리한 내용입니다.
string
string은 배열이 아니라 별도의 클래스다
char[] 을 이용한 string은 배열 크기를 지정해줘야하고
이로 인해 안정성면에서 문제가 생길 수 있다.
string은 이런 문제를 해결해준다.
string 관련 메소드
size()
주로 length보다 size를 씀
length()
lenght와 size 차이는 ??
c_str()
const char 배열(c 스타일 문자열) 첫번째 포인터를 반환한다.
c기반으로 돌아가는 경우 프로그램과 동작할 경우 중요한 함수다.
at()
배열 방식을 쓰지 생각보다 많이 안씀.
sstream
string 이 많이 쓰이면 쓴다.
string stream 이라는 소리
console이 아니라 string 으로부터 데이터를 읽고 내보내는 스트림
cout,cin의 iostream과 비슷하나 잘 쓰이지 않음
C헤더 사용
c++프로젝트에서도 성능상의 이유로 c헤더를 많이 쓴다.
그래서 string과 char[] 차이는?
string이 동적으로 length 가 길어나는 과정에서 속도 저하가 생긴다.
1. 힙메모리할당은 느림
2. 힙메모리할당에의한 메모리 단편화
3. 내부버퍼증가로인해 멀티 쓰레드 환경에서 lock처리를 잘못해서 문제가 될수도
4. c++ 쓰는 업계가 어디인가?
c#,java 대신 c++공부를 하는 이유에 대해서 생각하고 편한 기능 이전에
기능의 원리를 이해하고 최적화된 방법을 공부해야겠다.
때문에 여전히 sprintf, char[] 를 매우 많이 사용
'Programming Language > C++' 카테고리의 다른 글
[C++/공부/강의/POCU3200/정리]OOP_1 (0) | 2020.03.16 |
---|---|
[C++/공부/강의/POCU3200/정리]파일입출력 (0) | 2020.03.16 |
[C++/공부/강의/POCU3200/정리]새로운기능 (0) | 2020.03.13 |
[C++/공부]pointer 공부 (0) | 2020.03.13 |
[C++/공부/정리]포인터 (0) | 2020.03.12 |