2012-05-29 36 views
6

Theo hướng dẫn kiểu Google C++, no C++11 feature is approved.Tại sao Google cấm C++ 11 và đồng thời đầu tư vào Clang?

Mặt khác, có vẻ như Clang (trong đó tài nguyên Google đầu tư) rất tiên tiến in its C++11 support.

Điều này có vẻ giống như một mâu thuẫn ... có ai biết tại sao điều này không?

+2

Clang có nhiều công dụng hơn C++ 11. –

+3

Chỉ vì chúng hiện không cho phép các tính năng C++ 11, không có nghĩa là chúng không muốn chúng trong tương lai. Đầu tư vào phát triển trình biên dịch có nghĩa là tiến bộ hướng tới việc thực hiện C++ 11 hoàn toàn phù hợp, và càng sớm càng xảy ra, sớm hơn họ có thể thực sự bắt đầu sử dụng các tính năng mà không lo lắng về các tính năng chưa được kiểm tra. –

+1

Nếu câu hỏi này không phù hợp với SO thì hãy xóa nó đi. –

Trả lời

10

Những lý do được nêu ra trong các khuyết điểm phần

Tiêu chuẩn C++ 11 là đáng kể phức tạp hơn so với người tiền nhiệm của nó (1.300 trang so với 800 trang), và là unfamilar đối với nhiều nhà phát triển. Các hiệu ứng lâu dài của một số tính năng về khả năng đọc và bảo trì mã không xác định. Chúng tôi không thể dự đoán khi nào các tính năng khác nhau của nó sẽ được triển khai thống nhất bằng các công cụ có thể quan tâm (gcc, icc, clang, Eclipse, v.v.).

Nếu tôi phải tóm tắt thì họ sẽ đợi và xem cách tiếp cận với các tính năng mới. Họ muốn thấy những tác động tiêu cực (và sẽ có một số) trước khi chúng tích hợp sâu các tính năng vào cơ sở mã

+1

Họ đề cập đến 'tự động', trong đó, trong khi tôi yêu thích địa ngục, nó thực sự có thể phá hủy khả năng đọc. – TeaOverflow

+4

@Evgeni Sử dụng C# nhiều hơn C++ và bạn sẽ phải nâng cấp 'var' từ các ngón tay chết lạnh của tôi :) – JaredPar

+4

Nếu bất cứ điều gì từ tài liệu đó là bằng chứng cho thấy chúng đang đợi thì phần này theo Quyết định: là. "Tránh viết mã không tương thích với C++ 11 (mặc dù nó hoạt động trong C++ 03)." – Joe

Các vấn đề liên quan