C++11 เป็นมาตรฐาน C++ สมัยใหม่ที่เผยแพร่ในปี 2011 ซึ่งทำให้เกิดส่วนขยายและการปรับปรุงที่สำคัญมากมายสำหรับภาษาที่มีอยู่ ได้รับการอนุมัติจาก International Organization for Standardization (ISO) เมื่อวันที่ 12 สิงหาคม 2011 และแทนที่ C++03
C++11 เรียกอีกอย่างว่า C++0x ทั้งนี้เป็นเพราะ สำหรับการแก้ไขครั้งต่อไป คาดว่ามาตรฐานถัดไปหลังจากนั้นจะเสร็จสิ้นภายในปี 2008 แต่เนื่องจากไม่แน่นอน จึงตั้งชื่อว่า C++0x โดยที่ x แทน 8 หรือ 9 แม้ว่าการวางแผนจะเปลี่ยนไป และตอนนี้เรียกว่า C++11 ดังนั้น C++0x จึงเป็นชื่อมาตรฐานก่อนที่จะเผยแพร่ เมื่อเสร็จสิ้นในปี 2554 ได้ชื่อว่า C++11
ต่อไปนี้คือการเปลี่ยนแปลง/ส่วนเพิ่มเติมที่สำคัญของ C++11 -
- รายการตัวเริ่มต้น
- การหักแบบอัตโนมัติ
- การอ้างอิงค่า Rvalue และตัวสร้างการย้าย
- constexpr – นิพจน์คงที่ทั่วไป
- การปรับเปลี่ยนคำจำกัดความของข้อมูลเก่าธรรมดา
- การเริ่มต้นเครื่องแบบ
- ตามช่วงสำหรับลูป
- ฟังก์ชันแลมบ์ดาและนิพจน์
- รูปแบบฟังก์ชันทางเลือก
- การแทนที่ที่ชัดเจนและขั้นสุดท้าย
- ตัวชี้ค่าคงที่ nullptr
- การแจงนับที่พิมพ์อย่างเข้มงวด
- วงเล็บมุมขวาไม่ถือเป็นตัวดำเนินการในตำแหน่งที่เหมาะสม
- เทมเพลต Variadic
- โมเดลหน่วยความจำแบบมัลติเธรด
- เพิ่มตารางแฮชใน STL
- เพิ่มนิพจน์ทั่วไปในไลบรารีมาตรฐาน
- เพิ่มตัวชี้อัจฉริยะสำหรับใช้งานทั่วไป เช่น shared_ptr,อ่อนแอ_ptr เป็นต้น
และอื่น ๆ อีกมากมาย. คุณสามารถดูรายการทั้งหมดพร้อมตัวอย่างได้ที่ https://en.wikipedia.org/wiki/C%2B%2B11