Tôi đang làm việc cho một sản phẩm sử dụng C++ chủ yếu cho các thành phần cốt lõi của nó. Mặc dù nó sử dụng C++ thị giác làm trình biên dịch chính cho nền tảng windows và nó là trình soạn thảo và trình gỡ rối làm môi trường phát triển chính, không sử dụng bất kỳ công nghệ cụ thể nào của Microsoft. Đối với các nền tảng khác, nó sử dụng gcc để biên dịch.di chuyển đến C++ 11
Cơ sở mã của tôi sử dụng rất nhiều tham chiếu giá trị giả lập (sử dụng thư viện tăng chuyển động), mẫu variadic (sử dụng bộ xử lý tăng cường) và trong một số trường hợp mẫu biểu thức.
Tôi bị cám dỗ chuyển sang C++ 11 để có cơ sở mã sạch hơn bằng cách sử dụng tham chiếu rvalue, chuyển tiếp hoàn hảo, mặc định và xóa cho nhà xây dựng, mẫu variadic và tự động và decltype.
Nếu tôi làm như vậy, tôi có thể làm một số việc làm lại trên mã hiện có để đơn giản hóa nó (sử dụng bí danh mẫu và có thể là constexpr). Trong trường hợp đó, tôi phải chuyển sang gcc cho nền tảng windows bằng cách sử dụng mingw, vì studio trực quan không thực hiện mặc định và xóa, và mẫu variadic. Ngoài ra tôi phải chuyển sang gdb dưới dạng trình sửa lỗi và trình soạn thảo mã khác.
Đối với tôi, lợi ích có vẻ rất lớn về hiệu suất và tính đơn giản của mã, tuy nhiên tính ổn định, khả dụng (trên một số nền tảng như Android), gỡ lỗi (di chuyển từ studio trực quan sang gdb, vì chúng tôi có nhiều công cụ trực quan được phát triển cho trình gỡ lỗi studio trực quan)) và trình soạn thảo mã (không quá nhiều đối với mã mẫu rất lớn, tôi không tìm thấy nhiều công dụng tự động hoàn thành, tái cấu trúc vv, và codelite, codeblocks, qt creator hoạt động tốt với hệ thống xây dựng của chúng tôi).
Tôi muốn biết liệu có bất kỳ dự án quy mô trung bình/lớn nào là thương mại hoặc nguồn mở, đang sử dụng/có ý định sử dụng bất kỳ tính năng nào ở trên C++ 11 không? Và cần bao nhiêu nỗ lực để thực hiện việc di cư như vậy?
Bất kỳ trải nghiệm thực tế, mẹo hay lời khuyên nào sẽ giúp tôi đưa ra quyết định.
Câu hỏi thường gặp và câu hỏi về danh sách thường không phải là những gì mà giao dịch Stack Overflow thỏa thuận. –
Tôi khuyên bạn nên đợi lâu hơn một chút. Chờ cho đến khi hỗ trợ VC++ thích hợp. Các tập tin tiêu đề trong mingw32 là vấn đề. –
có một cái nhìn tại dự án clang họ có [C++ 11 Migrator] [1] trong kho [1]: http://blog.llvm.org/2013/04/status-of-c11- migrator.html – Alex