728x90

포큐아카데미 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[] 를 매우 많이 사용

 

 

728x90

+ Recent posts