Vì vậy, tôi đã đọc qua và có vẻ như các thư viện Boost được sử dụng rất nhiều trong thực tế (mặc dù vậy, không phải tại cửa hàng của tôi). Tại sao thế này? và điều gì khiến nó trở nên tuyệt vời như vậy?
Vì vậy, tôi đã đọc qua và có vẻ như các thư viện Boost được sử dụng rất nhiều trong thực tế (mặc dù vậy, không phải tại cửa hàng của tôi). Tại sao thế này? và điều gì khiến nó trở nên tuyệt vời như vậy?
Câu trả lời:
Boost được sử dụng rộng rãi vì:
Từ trang chủ:
"... một trong những dự án thư viện C ++ được đánh giá cao và được thiết kế chuyên nghiệp nhất trên thế giới." - Herb Sutter và Andrei Alexandrescu, Tiêu chuẩn mã hóa C ++
"Tiết 55: Làm quen với Boost." - Scott Meyers, C ++ hiệu quả, xuất bản lần thứ 3.
"Giải pháp rõ ràng cho hầu hết các lập trình viên là sử dụng một thư viện cung cấp nền tảng thanh lịch và hiệu quả độc lập với các dịch vụ cần thiết. Ví dụ như BOOST ..." - Bjarne Stroustrup, Abstraction, thư viện và hiệu quả trong C ++
Vì vậy, đó là một loạt các thư viện được sử dụng rộng rãi và được chấp nhận, nhưng tại sao bạn lại cần nó?
Nếu bạn cần:
và hơn thế nữa khi bạn viết mã bằng C ++, hãy xem Boost .
Bởi vì họ thêm nhiều thứ còn thiếu vào thư viện tiêu chuẩn, rất nhiều thứ trong số họ được đưa vào tiêu chuẩn.
Boost mọi người không nói dối:
Tại sao một tổ chức nên sử dụng Boost?
Nói một cách dễ hiểu, Năng suất. Việc sử dụng các thư viện chất lượng cao như Boost giúp tăng tốc độ phát triển ban đầu, dẫn đến ít lỗi hơn, giảm sự phát minh lại và cắt giảm chi phí bảo trì dài hạn. Và vì các thư viện Boost có xu hướng trở thành tiêu chuẩn de facto hoặc de jure, nên nhiều lập trình viên đã quen thuộc với chúng.
Mười trong số các thư viện Boost được bao gồm trong TR1 của Thư viện Chuẩn C ++, và do đó, dự kiến sẽ được chuẩn hóa đầy đủ sau này. Các thư viện Boost khác đang được cung cấp cho TR2. Sử dụng thư viện Boost mang lại cho tổ chức một khởi đầu thuận lợi trong việc áp dụng các công nghệ mới.
Nhiều tổ chức đã sử dụng các chương trình được triển khai với Boost, như Adobe Acrobat Reader 7.0.
Một vài lớp Boost rất hữu ích (shared_ptr), nhưng tôi nghĩ rằng chúng có một chút sai lầm với các đặc điểm và khái niệm trong Boost. Thời gian biên dịch và kích thước nhị phân khổng lồ là hoàn toàn điên rồ với Boost, như trường hợp của bất kỳ mã nặng mẫu nào. Cần phải có một sự cân bằng. Tôi không chắc liệu Boost đã tìm thấy nó hay chưa.
Nó bổ sung các thư viện cho phép tiếp cận lập trình C ++ hiện đại hơn.
Theo kinh nghiệm của tôi, nhiều lập trình viên C ++ thực sự là những lập trình viên C ++ đầu những năm 1990, viết khá nhiều các lớp C ++, chứ không phải sử dụng nhiều đến các ngôn ngữ chung. Cách tiếp cận hiện đại hơn sử dụng generic để biên soạn phần mềm với nhau theo cách giống với ngôn ngữ động hơn, nhưng cuối cùng bạn vẫn nhận được hiệu suất / kiểm tra kiểu. Nhìn thì hơi xấu xí. Nhưng một khi bạn vượt qua được các vấn đề về cú pháp, nó thực sự khá tốt. Boost cung cấp cho bạn rất nhiều công cụ cần thiết để soạn nội dung một cách dễ dàng. con trỏ thông minh, hàm, lambdas, ràng buộc, v.v. Sau đó, có các thư viện tăng cường khai thác cách viết C ++ mới hơn này để cung cấp những thứ như mạng, regex, v.v.
nếu bạn đang viết nhiều vòng lặp for, hoặc các đối tượng chức năng xoay tay hoặc thực hiện quản lý bộ nhớ, thì bạn chắc chắn nên kiểm tra boost.
BOOST là một tập hợp các thư viện lấp đầy nhu cầu phổ biến cho nhiều dự án C ++. Nói chung, chúng ưu tiên tính đúng đắn, khả năng tái sử dụng, tính di động, hiệu suất thời gian chạy và hiệu quả về không gian hơn khả năng đọc của mã triển khai BOOST hoặc đôi khi là thời gian biên dịch. Chúng có xu hướng không bao hàm các yêu cầu chức năng cấp cao hoàn chỉnh (ví dụ: khung ứng dụng), và thay vào đó (rất may) cung cấp các khối xây dựng có thể được kết hợp tự do hơn mà không cần ra lệnh hoặc chi phối thiết kế ứng dụng.
Các lý do quan trọng để xem xét sử dụng BOOST bao gồm:
Các thư viện được mô tả trong một hoặc hai dòng tại đây: http://www.boost.org/doc/libs/ .
Bởi vì các thư viện chuẩn C ++ không phải là tất cả những gì hoàn chỉnh .
Bất cứ điều gì có sự tham gia của Kevlin Henney đều cần được lưu ý.
Về cơ bản Boost là tóm tắt về những gì Tiêu chuẩn sẽ trở thành, bên cạnh đó với tất cả các đánh giá ngang hàng và cách sử dụng mà Boost nhận được, bạn có thể khá chắc chắn rằng bạn nhận được khá nhiều lợi ích cho các phụ thuộc của mình.
Tuy nhiên, hầu hết các cửa hàng không sử dụng Boost, bởi vì nó là phụ thuộc bên ngoài. Và trên thực tế, việc giảm phụ thuộc bên ngoài cũng rất quan trọng.
Tôi sử dụng thư viện hệ thống tệp bỏ một chút, và boost :: shared_ptr khá tiện lợi. Tôi nghe nói nó cũng làm những việc khác.