그래서 나는 읽었고 Boost 라이브러리가 실제로 많이 사용되는 것처럼 보입니다 (하지만 내 가게에서는 아닙니다). 왜 이런거야? 그토록 멋진 이유는 무엇입니까?
그래서 나는 읽었고 Boost 라이브러리가 실제로 많이 사용되는 것처럼 보입니다 (하지만 내 가게에서는 아닙니다). 왜 이런거야? 그토록 멋진 이유는 무엇입니까?
답변:
Boost 는 다음과 같은 이유로 광범위하게 사용됩니다.
홈페이지에서 :
"... 세계에서 가장 높이 평가되고 전문적으로 설계된 C ++ 라이브러리 프로젝트 중 하나입니다." — Herb Sutter 및 Andrei Alexandrescu, C ++ 코딩 표준
"항목 55 : 부스트에 익숙해 지십시오." — Scott Meyers, Effective C ++, 3rd Ed.
"대부분의 프로그래머에게 명백한 해결책은 필요한 서비스에 독립적 인 우아하고 효율적인 플랫폼을 제공하는 라이브러리를 사용하는 것입니다. 예는 BOOST ..."— Bjarne Stroustrup, Abstraction, 라이브러리 및 C ++의 효율성
따라서 널리 사용되고 허용되는 다양한 라이브러리이지만 왜 필요합니까?
필요한 경우 :
그들은 표준 라이브러리에 많은 빠진 것들을 추가하기 때문에 그들 중 일부는 표준에 포함됩니다.
사람들 은 거짓말을하지 않습니다.
조직에서 Boost를 사용해야하는 이유는 무엇입니까?
한마디로 생산성. Boost와 같은 고품질 라이브러리를 사용하면 초기 개발 속도가 빨라지고 버그가 줄어들고 재창조가 줄어들고 장기 유지 관리 비용이 절감됩니다. 그리고 Boost 라이브러리는 사실상 또는 법적 기준이되는 경향이 있기 때문에 많은 프로그래머가 이미 익숙합니다.
10 개의 Boost 라이브러리가 C ++ 표준 라이브러리의 TR1에 포함되어 있으므로 나중에 완전한 표준화를 수행 할 예정입니다. 더 많은 Boost 라이브러리가 TR2의 파이프 라인에 있습니다. Boost 라이브러리를 사용하면 조직이 새로운 기술을 채택 할 수 있습니다.
많은 조직에서 이미 Adobe Acrobat Reader 7.0과 같이 Boost로 구현 된 프로그램을 사용하고 있습니다.
몇 가지 Boost 클래스는 매우 유용하지만 (shared_ptr) Boost의 특성과 개념에 대해 약간 미쳤습니다. 컴파일 시간과 거대한 바이너리 크기는 템플릿이 많은 코드의 경우와 마찬가지로 Boost에서 완전히 미쳤습니다. 균형이 있어야합니다. Boost가 그것을 찾았는지 확실하지 않습니다.
C ++ 프로그래밍에 대한보다 현대적인 접근 방식을 허용하는 라이브러리를 추가합니다.
내 경험상 많은 C ++ 프로그래머는 실제로 1990 년대 초반 C ++ 프로그래머로, 제네릭을 많이 사용하지 않고 C ++ 클래스를 거의 작성합니다. 보다 현대적인 접근 방식은 제네릭을 사용하여보다 동적 인 언어와 유사한 방식으로 소프트웨어를 함께 구성하지만 결국에는 유형 검사 / 성능을 얻습니다. 보기에는 조금 추합니다. 그러나 일단 구문 문제를 극복하면 정말 좋습니다. Boost는 쉽게 구성하는 데 필요한 많은 도구를 제공합니다. 스마트 포인터, 함수, 람다, 바인딩 등. 그런 다음 네트워킹, 정규식 등을 제공하기 위해 C ++를 작성하는 새로운 방법을 활용하는 부스트 라이브러리가 있습니다.
for 루프를 많이 작성하거나 함수 객체를 직접 굴 리거나 메모리 관리를 수행하는 경우 반드시 부스트를 확인해야합니다.
BOOST는 많은 C ++ 프로젝트에 공통적으로 필요한 라이브러리를 채우는 모음입니다. 일반적으로 BOOST 구현 코드의 가독성 또는 컴파일 시간보다 정확성, 재사용 성, 이식성, 런타임 성능 및 공간 효율성을 우선시합니다. 그들은 완전한 높은 수준의 기능 요구 사항 (예 : 애플리케이션 프레임 워크)을 다루지 않고 대신 (고맙게도) 애플리케이션 설계를 지시하거나 지배하지 않고 더 자유롭게 결합 할 수있는 빌딩 블록을 제공하는 경향이 있습니다.
BOOST 사용을 고려해야하는 중요한 이유는 다음과 같습니다.
라이브러리는 http://www.boost.org/doc/libs/에서 한두 줄로 설명됩니다 .
나는 파일 시스템 라이브러리를 조금 사용하고 boost :: shared_ptr은 꽤 멋지다. 나는 그것이 다른 일도한다고 들었습니다.