Tôi đang di chuyển dự án của mình sang C++ 11 và tôi đang cố gắng sử dụng càng nhiều thư viện chuẩn càng tốt.Một 'typedef' cho một chức năng mẫu (boost :: make_shared)
Trước khi tôi hoàn thành việc di chuyển, tôi cần một cách nhanh chóng để lật giữa tăng cường và STL thực hiện shared_ptr
(để làm điểm chuẩn, kiểm tra đơn vị, v.v ...).
Vì vậy, tôi xác định một bí danh cho shared_ptr
như thế này:
#ifdef _USE_BOOST_
template <class C>
using shared_ptr = boost::shared_ptr<C>
#else
template <class C>
using shared_ptr = std::shared_ptr<C>
#endif
bây giờ tôi cần phải làm tương tự cho make_shared
... Nhưng làm thế nào? Macro? Một wrapper? Tôi không thực sự thích một trong số họ. Các lựa chọn thay thế là gì?
Bạn không có nhiều sự lựa chọn nhưng để viết một wrapper nhanh chóng. – Puppy