프로그램을 작성하다 보면 스트링을 사용할 일이 생기기 마련이다. C언어를 사용하던 시절에는 단순히 널null 로 끝나는 문자 배열로 스트링을 표현했다. 하지만 이렇게 하면 버퍼 오버플로를 비롯한 다양한 문제 때문에 취약점이 드러날 수 있다. C++ 표준 라이브러리는 이러한 문제를 방지하기 위해 안전하고 사용하기 쉬운 std::string 클래스를 제공한다. 스트링은 굉장히 중요한 기능이므로 자세히 알아보자. 동적 스트링스트링을 주요 객체로 제공하는 프로그래밍 언어를 보면 대체로 스트링의 크기를 임의로 확장하거나, 서브스트릥(부분 문자열)을 추출하거나 교체하는 것처럼 고급 기능을 제공한다. 반면 C와 같은 언어는 스트링을 부가 기능처럼 취급한다. 그래서 스트링을 언어의 정식 데이터 타입으로 제공하지 않고 ..