Tôi muốn sử dụng một số tính năng C++ 11 trong chương trình của mình. Tôi có thể phải chia sẻ mã nguồn của mình với những người khác trong tương lai. Làm thế nào để khẳng định, bên trong mã, C++ 11 nên được sử dụng để biên dịch chương trình của tôi? Trình biên dịch cũ hơn có thể ném lỗi, nhưng tôi muốn người dùng được thông báo rõ ràng rằng C++ 11 là bắt buộc.Làm thế nào để khẳng định rằng C++ 11 nên được sử dụng để biên dịch chương trình của tôi?
Tôi đang sử dụng C++ 11 tính năng sau đây, nếu có vấn đề:
- enum với kích thước lưu trữ theo quy định
- std chia sẻ con trỏ
nhờ
'static_assert (true);'. (Tôi đang nói đùa. Đừng làm điều này.) – jamesdlin
Lưu ý rằng tại thời điểm viết bài, không có trình biên dịch hỗ trợ đầy đủ C++ 11.Vì vậy, nếu bạn thử nghiệm hỗ trợ hoàn chỉnh C++ 11, bạn sẽ có rất nhiều âm bản sai - trình biên dịch có các tính năng bạn cần nhưng không thực hiện C++ 11 và do đó bị từ chối bởi thử nghiệm của bạn. –
@SteveJessop Tôi có ấn tượng rằng GCC đã hỗ trợ tất cả các tính năng của C++ 11 theo [bảng này] (http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport). Nếu tôi sai, xin hãy sửa tôi. – Malcolm