C++11 là chuẩn C++ hiện đại công bố năm 2011. Mang lại nhiều mở rộng và cải tiến lớn cho ngôn ngữ hiện có. Được ISO phê duyệt ngày 12/8/2011 và thay thế C++03.
C++11 còn gọi là C++0x. Vì dự kiến chuẩn tiếp theo xong năm 2008 nhưng không chắc, nên đặt tên C++0x (x là 8 hoặc 9). Kế hoạch thay đổi, cuối cùng gọi C++11.
Các thay đổi/điều quan trọng của C++11:
- Initializer lists (Danh sách khởi tạo)
- Automatic type deduction (Suy diễn kiểu tự động -
auto) - Rvalue references và move constructors
- constexpr – Biểu thức hằng tổng quát
- Sửa đổi định nghĩa POD
- Uniform initialization (Khởi tạo đồng nhất)
- Range-based for loop (Vòng lặp dựa trên phạm vi)
- Lambda functions và expressions
- Alternative function syntax (Cú pháp hàm thay thế)
- Explicit overrides và final
- Con trỏ null hằng
nullptr - Strongly typed enumerations (Enum lớp)
- Right angle bracket không được coi là toán tử ở nơi thích hợp
- Variadic templates (Template tham số biến thiên)
- Multithreading memory model (Mô hình bộ nhớ đa luồng)
- Thêm Hash tables vào STL (
unordered_map, v.v.) - Thêm Regular expressions vào Thư viện chuẩn
- Thêm Smart pointers chung:
shared_ptr,weak_ptr, v.v.
Và nhiều hơn nữa. Danh sách đầy đủ ví dụ tại: https://en.wikipedia.org/wiki/C%2B%2B11