Tôi đã tải xuống và xây dựng gcc 4.6.2. Tôi thấy rằng đối với các tính năng của C++ 11, vẫn cần tùy chọn dòng lệnh -std=c++0x
. Tại sao vậy? Không phải là nghĩa vụ phải hỗ trợ nó theo mặc định?Tại sao "-std = C++ 0x" vẫn cần thiết cho g ++ 4.6.2?
$ g++ --version
g++ (GCC) 4.6.2
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Câu hỏi thú vị. Các trình biên dịch khác (VC10) đã chọn để bao gồm các tính năng mới theo mặc định. Tôi thực sự tự hỏi tại sao họ lại có những con đường khác nhau ở đây. – ereOn
Tôi thấy khó chịu hơn vì thực tế là mặc định không phải là '-std = C++ 98' –
Giữ nó đơn giản, ngu ngốc. Bạn muốn sử dụng một tiêu chuẩn khác? Chỉ định nó. Hoặc thậm chí luôn luôn chỉ định tiêu chuẩn để sử dụng. Nếu đó không phải là sở thích của bạn, hãy sử dụng một IDE sẽ tự động cấu hình nó. Hoặc sử dụng lại tệp cấu hình bổ sung của Makefile. – Geoffroy