Tôi hiện đang di chuyển từ Visual Studio 2008 sang 2010. Phần mềm của tôi sử dụng nhiều tính năng Boost và TR1. Bây giờ tôi nhận được rất nhiều lỗi biên dịch, vì VC10 có thực thi TR1 riêng của nó.TR1 từ Boost hoặc VC10 - Cái nào tốt hơn?
Tôi biết tôi có thể tắt triển khai TR1 của Microsoft với công tắc _HAS_CPP0X
(xem here), nhưng tôi không chắc liệu điều này có vô hiệu hóa các tính năng khác có thể thú vị trong tương lai hay không.
Vì vậy, tôi tự hỏi đó là việc thực hiện tốt hơn TR1: một từ Boost hoặc một từ Microsoft? Có bất kỳ sự khác biệt nào không? Việc vô hiệu hóa việc triển khai Microsoft có bất kỳ bất lợi nào không?
Không phải đây là câu trả lời bạn đang tìm kiếm ... Nếu bạn tắt Microsoft tr1, bạn không thể biên dịch mà không tăng cường. Nếu bạn sử dụng boost, bạn có thể yên tâm rằng bạn sẽ có một đường dẫn nâng cấp ổn định và mã của bạn sẽ biên dịch bên ngoài MSVC. Điều đó, và tăng cường có nhiều tính năng hơn so với chỉ những cái trong TR1 :) –
Lỗi chính xác, định nghĩa trùng lặp là gì? – MSalters
Có, lỗi chính xác là định nghĩa trùng lặp. Nó cũng có một cái gì đó để làm với ADL.Nếu tôi đủ điều kiện mỗi lần xảy ra ràng buộc hoặc _1 (std :: bind và std :: tr1 :: placeholders :: _ 1) mã sẽ sớm trở nên rất khó chịu :) –