새소식

인기 검색어

CS/C++

std::string 은 동적 할당 배열이다!

  • -

std::string은 일반적으로 동적 할당 배열(dynamic allocation array)를 사용하여 문자열 데이터를 저장한다. std::string의 구현은 C++ 표준 라이브러리에 따라 다를 수 있지만, 대부분의 구현에서 std::string은 내부적으로 동적 할당 메모리를 사용하여 문자열 데이터를 저장하고 관리한다. 이렇게 동적 메모리를 사용하면 문자열의 크기가 런타임에 변경될 수 있게 해준다.

 

std::string의 일반적인 구현은 다음과 같은 멤버 변수를 포함할 수 있다:

 

  • Data Pointer: 동적 할당된 메모리의 시작 주소를 저장하는 포인터다. 이 포인터는 문자열 데이터를 저장하는 배열을 가리킨다.
  • Size: 현재 문자열의 길이를 저장한다.
  • Capacity: 동적 할당된 메모리의 전체 용량을 저장한다. 용량은 문자열 데이터를 저장할 수 있는 메모리의 최대 크기를 나타낸다.

 

이러한 구조는 std::string이 문자열 길이 변경, 문자 추가, 문자열 연결 등의 연산을 수행할 수 있게 해준다. 또한, std::string은 메모리를 동적으로 할당하고 해제하여 메모리 관리를 자동으로 처리한다.

'CS > C++' 카테고리의 다른 글

C++ 의 캐스팅  (0) 2023.11.01
inline 함수와 매크로 함수의 차이  (0) 2023.11.01
explicit 키워드  (0) 2023.11.01
중괄호 초기화와 다양한 초기화 방법  (0) 2023.11.01
lvalue, rvalue, move 그리고 RVO  (0) 2023.10.31
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.