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

+ Recent posts