53. 컴파일러 경고를 지나치지 말자
컴파일러가 내뱉는 경고 메시지를 없애기 전에 그 경고가 무엇을 알리려는지를 정확히 이해해야 한다.
◾ 컴파일러 경고를 쉽게 지나치지 맙시다. 여러분의 컴파일러에서 지원하는 최고 경고 수준에도 경고 메시지를 내지 않고 컴파일되는 코드를 만드는 쪽에 전력을 다 하십시오.
◾ 컴파일러 경고에 너무 기대는 인생을 지양하십시오. 컴파일러마다 트집을 잡고 경고를 내는 부분들이 천차만별이기 때문입니다. 지금 코드를 다른 컴파일러로 이식하면서 여러분이 익숙해져 있는 경고 메시지가 온 데 간 데 없이 사라질 수도 있습니다.
54. TR1을 포함한 표준 라이브러리 구성요소와 편안한 친구가 되자
(참고: 책에 기재된 TR1의 기능은 모두 모던 C++에 흡수되었다.)
◾ 스마트 포인터
◾ tr1::function
◾ tr1::bind
◾ 해시 테이블
◾ 정규 표현식
◾ 튜플
◾ tr1::array
◾ tr1::mem_fn
◾ tr1::reference_wrapper
◾ 난수 발생
◾ 특수 용도의 수학 함수
◾ C99 호환성 확장 기능
◾ 타입 특성정보(type trais)
◾ tr1::result_of
◾ 최초에 상정된 표준 C++ 라이브러리의 주요 구성요소는 STL, iostream, 로케일 등입니다. 여기에는 C89의 표준 라이브러리도 포함되어 있습니다.
◾ TR1이 도입되면서 추가된 것은 스마트 포인터, 일반화 함수 포인터(std::function), 해시 기반 컨테이너, 정규 표현식 그리고 그 외의 10개 구성요소입니다.
◾ TR1 자체는 단순히 명세서일 뿐입니다. TR1의 기능을 사용하기 위해서는 명세를 구현한 코드드 구해야 합니다. TR1 구현을 구할 수 있는 자료처 중 한 군데가 바로 부스트입니다.
55. Boo子有親! 부스트를 늘 여러분 가까이에
(참고: 본문에서 언급하는 수준의 Boost 라이브러리 역시 TR1을 구현한 것이기 때문에 모던 C++에 대부분 흡수된것으로 보인다. 예를들면 람다식.)
◾ 문자열 및 텍스트 처리
◾ 컨테이너
◾ 함수 객체 및 고차 프로그래밍
◾ 일반화 프로그래밍
◾ 템플릿 메타프로그래밍
◾ 수학 및 수치 조작
◾ 정확성 유지 및 테스트
◾ 자료구조
◾ 타 언어와의 연동 지원
◾ 메모리
◾ 기타
◾ 부스트는 동료 심사를 거쳐 등록되고 무료로 배포되는 오픈 소스 C++ 라이브러리를 개발하는 모임이자 웹사이트입니다. 또한 C++ 표준화에 있어서 영향력 있는 역할을 맡고 있습니다.
◾ 부스트에서 배포되는 라이브러리들 중엔 TR1 구성요소에 들어간 것도 있지만, 그 외에 다른 라이브러리들도 아주 많습니다.
'도서 > Effective C++' 카테고리의 다른 글
8. new와 delete를 내 맘대로 (0) | 2022.12.07 |
---|---|
7. 템플릿과 일반화 프로그래밍 (0) | 2022.12.05 |
6. 상속, 그리고 객체 지향 설계 (0) | 2022.12.04 |
5. 구현 (0) | 2022.12.03 |
4. 설계 및 선언 (0) | 2022.12.01 |