본문 바로가기
C++/이론 및 용어

[c++] string 동적 할당에 관하여

by tokkiC 2022. 6. 13.

알고리즘 문제를 풀다 런타임에러가 나서 고민하다 질문에 대한 답변으로 깨달아서 간단하게 정리하려고한다

string 이란 int a[4] 같은 정적 크기를 가진 배열이 아니다

동적이니 string 은 사실상 백터라고 보면 된다

따라서 string 변수만 선언하고 초기화를 안한채로 아래처럼 사용하면 잘못된 코드이다

string ori;
string s;

cin >> s;

for(int i=0; i<s.size(); i++)           
        ori[i] = s[i];			// 잘못사용한 경우

string은 동적배열 벡터이므로, 이미 크기가 할당된 정적 배열이 아니므로 빈 string의 인덱스로 넣으면 안된다

벡터에서 삽입하듯 ori.push_back(s[i]) 를 사용해서 ori 문자열을 만들어주자

'C++ > 이론 및 용어' 카테고리의 다른 글

너무 큰 크기의 배열이 선언되면 실행되지 않는다  (0) 2022.08.05
iterator 반복자  (0) 2022.06.08
[c++] namespace  (0) 2022.06.07

댓글