Tôi phải sử dụng một con trỏ thông minh và tôi thấy "shared_ptr" từ tăng có vẻ tốt. Tôi đã tải xuống thư viện tăng cường và tôi có thể thấy nhiều tệp và thư viện ở đó. Có cách nào để chỉ sử dụng shared_ptr không?Sử dụng boost shared_ptr
Trả lời
boost bcp
là bạn của bạn. Nó cho phép trích xuất các thư viện boost cá nhân ra khỏi cây của nó. Tôi đã sử dụng nó với thành công trong quá khứ. shared_ptr chỉ bao gồm các tiêu đề, do đó sẽ đặc biệt tốt cho bạn.
Nếu bạn đang sử dụng phiên bản Visual C++ mới nhất trên Windows, BoostPro cung cấp trình cài đặt miễn phí tiện lợi tại đây: http://www.boostpro.com/products/free. Nếu không, hoặc nếu bạn đã tải xuống bản phân phối nguồn, bạn có thể bắt đầu sử dụng shared_ptr và bạn bè ngay lập tức vì thư viện shared_ptr là "chỉ tiêu đề" - không yêu cầu biên dịch các tệp .cpp .
Bạn có thể sử dụng bcp như litb được đề xuất, nhưng nếu bạn lo lắng về việc kéo thêm mã thư viện, bạn không nên sử dụng. Nói chung, theo triết lý C++ của "bạn chỉ trả tiền cho những gì bạn sử dụng". Vì vậy, nếu bạn chỉ bao gồm các tiêu đề shared_ptr, đó là tất cả những gì mã của bạn sẽ sử dụng.
- 1. Sử dụng Boost Python & std :: shared_ptr
- 2. C++ 0x std :: shared_ptr vs. boost :: shared_ptr
- 3. Boost shared_ptr dereference cost
- 4. boost shared_ptr casting thành void *
- 5. Làm thế nào để xử lý phát triển C++ std :: namespace? ví dụ: std :: tr1 :: shared_ptr so với std :: shared_ptr so với boost :: shared_ptr vs. boost :: tr1 :: shared_ptr
- 6. Khởi tạo Boost shared_ptr trong hàm tạo
- 7. shared_ptr của boost là gì (shared_ptr <Y> const & r, T * p) được sử dụng cho?
- 8. Làm thế nào để giải quyết xung đột giữa tăng :: shared_ptr và sử dụng std :: shared_ptr?
- 9. Tôi có nên sử dụng boost :: ptr_vector <T> hoặc vector <boost :: shared_ptr <T>>?
- 10. Cách sử dụng std :: shared_ptr
- 11. Tôi có nên kiểm tra tăng :: shared_ptr hoặc std :: shared_ptr trước khi tôi sử dụng không?
- 12. Khi nào tôi phải sử dụng boost :: asio: strand
- 13. static_cast với tăng :: shared_ptr?
- 14. Sử dụng boost :: gán :: list_of
- 15. Ai sử dụng Boost ASIO?
- 16. Sử dụng Boost trên ubuntu
- 17. Khi sử dụng shared_ptr nên tôi chỉ sử dụng khai báo shared_ptr một lần hoặc khai báo shared_ptr ở mọi nơi tôi vượt qua nó?
- 18. QList và shared_ptr
- 19. Loại tẩy xoá trong C++: cách tăng :: shared_ptr và boost :: chức năng hoạt động?
- 20. Sử dụng boost :: tuple trong tr1 :: hash
- 21. Sử dụng Boost Bimap trong C++
- 22. Ví dụ sử dụng boost :: condition :: timed_wait
- 23. thất bại khi sử dụng boost :: optional
- 24. Sử dụng .reset() để giải phóng quảng cáo :: shared_ptr với quyền sở hữu duy nhất
- 25. tăng :: shared_ptr container tiêu chuẩn
- 26. Làm thế nào để giới thiệu boost :: shared_ptr vào một codebase C++ hiện có (lớn)?
- 27. boost :: make_shared <T> (...) không biên dịch, shared_ptr <T> (mới T (...)) hiện
- 28. Cuộc gọi destructor kép lạ khi sử dụng shared_ptr
- 29. Sử dụng deleter tùy chỉnh với std :: shared_ptr
- 30. Qt sử dụng tăng :: shared_ptr trong tín hiệu/khe