Nếu bạn đang sử dụng trình biên dịch TR1 trước thì con trỏ thông minh
boost::shared_ptr
boost::weak_ptr
boost::scoped_ptr
boost::scoped_array
boost::shared_array
Nếu trình biên dịch của bạn đã có con trỏ thông minh, hãy sử dụng chúng.
Lý do rõ ràng là C ++ không có con trỏ thông minh về cơ bản không phải là C ++
Các thư viện ptr_contaier tăng.
Tất cả các container STL được triển khai lại cụ thể để giữ con trỏ. Các container không chỉ sở hữu các con trỏ để khi container bị phá hủy, nó sẽ tự động phá hủy tất cả các con trỏ. NHƯNG nó cũng cung cấp quyền truy cập vào các phần tử như các tham chiếu đối tượng bình thường (không phải con trỏ), điều này giúp bạn dễ dàng sử dụng các đối tượng trong các thuật toán tiêu chuẩn mà không cần hàm functor.
Các thư viện lambda tăng. (xem bình luận bên dưới)
Các functor và chất kết dính STL là OK cho những điều đơn giản. Nhưng boost :: lambda đã thực hiện bước tiếp theo và làm cho mọi thứ đơn giản hơn rất nhiều khi sử dụng các thuật toán tiêu chuẩn.
boost :: any và boost :: biến thể
Khi bạn cần giữ đồ vật mà không muốn biết loại chính xác của chúng.
container đa chỉ số
Các thùng chứa cho phép nhiều cách khác nhau để truy cập các yếu tố.
Đã qua rồi những ngày bạn có một vectơ các đối tượng và một bản đồ riêng cho vectơ tìm kiếm nhanh. Điều này cắt giảm phần soạn sẵn mà bạn cần viết để duy trì hai thùng chứa khi chèn / xóa các phần tử vào các thùng chứa.
boost :: lexical_cast
Có lẽ ít hữu ích nhất trong cuộc sống thực nhưng có rất nhiều điều thú vị để chơi là boost :: lexical_cast. Nó chuyển đổi bất kỳ đối tượng nào thành / từ một chuỗi (miễn là loại đó có các toán tử << và >> thích hợp được xác định). Rất hữu ích để đổ thông báo lỗi khi gỡ lỗi.