Page 132

16.1.2 연산자 오버로딩 활용 연산자 오버로딩도 C++ 표준 라이브러리에서 상당히 많이 사용한다. 연산자 오버로딩은 9.7 절 ‘연산자 오버로딩’에서 자세히 설명했다. 이 장을 비롯한 표준 라이브러리에 대한 장을 읽기 전에 9.7절에서 설명하는 내용을 완전히 이해하기 바란다. 또한 15장에서도 연산자 오버로딩 과 관련된 많은 내용을 다뤘다. 하지만 표준 라이브러리에 대한 장을 이해하는 데는 15장에서 설명하는 내용처럼 세부적인 기능은 몰라도 된다.

16.2 C++ 표준 라이브러리 둘러보기 이 절에서는 표준 라이브러리를 구성하는 다양한 컴포넌트를 디자인 관점에서 살펴본다. 그래 서 표준 라이브러리에서 제공하는 기능을 다양하게 소개하지만 각각에 대한 작성 방법은 여기 서 구체적으로 설명하지 않고 17장부터 소개한다.

16.2.1 스트링 C++는 string이란 클래스를 기본으로 제공한다. 이 클래스는 <string> 헤더 파일에 정의돼 있다. C++에서 C 스타일의 문자 배열로 스트링을 표현해도 되지만 C++의 string 클래스를 활용하는 것이 여러 모로 유리하다. 메모리를 관리해줄 뿐만 아니라 인덱스 경계 검사, 대입과 비교 기능, 스트링 결합, 스트링 추출, 부분 스트링 만들기, 문자 치환 등과 같은 다양한 기능도 제공한다. NOTE_ 엄밀히 말하면 std::string은 std::basic_string 템플릿을 char 타입 매개변수로 인스턴스

화한 것의 타입 앨리어스다. 하지만 이런 세부사항은 알 필요 없고, 일반 클래스처럼 사용해도 된다.

표준 라이브러리는 string_view 클래스도 제공한다. 이 클래스는 <string_view> 헤더 파일 에 정의돼 있다. string_view는 스트링을 읽기 전용으로 표현한다. 또한 const string& 자리 에 그대로 넣을 수 있고 오버헤드도 발생하지 않는다. 스트링을 복제하지 않기 때문이다.

C++는 유니코드와 현지화도 지원한다. 그래서 다양한 언어(한국어 등)를 다루는 프로그램을 작성할 수 있다. <locale>에 정의된 Locale 클래스를 이용하면 숫자나 날짜를 특정 국가나 지 역에 맞게 표현할 수 있다.

736 3부 전문가답게 C++ 코딩하기

Profile for 한빛미디어

전문가를 위한 C++ (개정4판) - 맛보기  

『전문가를 위한 C++』(개정4판)은 새로 추가된 기능과 관련 도구를 비롯해 C++에 대한 모든 내용을 코드와 솔루션 위주로 소개한다. 저자는 실전 프로그래밍에 적용할 수 있는 현실적인 기법을 다양하게 소개하였으며, 본 교재는 C++를 더 깊이 이해하...

전문가를 위한 C++ (개정4판) - 맛보기  

『전문가를 위한 C++』(개정4판)은 새로 추가된 기능과 관련 도구를 비롯해 C++에 대한 모든 내용을 코드와 솔루션 위주로 소개한다. 저자는 실전 프로그래밍에 적용할 수 있는 현실적인 기법을 다양하게 소개하였으며, 본 교재는 C++를 더 깊이 이해하...