คำหลักคือคำที่คอมไพเลอร์กำหนดความหมายแล้ว ไม่สามารถใช้คีย์เวิร์ดเหล่านี้เป็นตัวระบุได้ โปรดทราบว่าคำหลักคือชุดของคำสงวนและตัวระบุที่กำหนดไว้ล่วงหน้า ตัวระบุที่กำหนดไว้ล่วงหน้าคือตัวระบุที่กำหนดโดยคอมไพเลอร์ แต่ผู้ใช้สามารถเปลี่ยนความหมายได้
ตัวอย่างเช่น คุณสามารถประกาศตัวแปรที่เรียกว่า main ภายในฟังก์ชันหลักของคุณ เริ่มต้นมัน แล้วพิมพ์ค่าของมันออกมา (แต่ทำอย่างนั้นเพื่อยืนยันว่าคุณทำได้เท่านั้น!) ในทางกลับกัน คุณไม่สามารถทำเช่นนี้กับตัวแปรชื่ออื่นได้ ความแตกต่างคือ อย่างอื่นเป็นคำสงวน ในขณะที่หลักคือ "เท่านั้น" ตัวระบุที่กำหนดไว้ล่วงหน้า
มีคำสงวนไว้ทั้งหมด 95 คำในภาษา C++ คำที่สงวนไว้ของ C ++ อาจถูกจัดวางเป็นกลุ่มต่างๆ อย่างสะดวก ในกลุ่มแรก เราใส่สิ่งที่มีอยู่ในภาษาการเขียนโปรแกรม C และส่งต่อไปยัง C++ มีทั้งหมด 32 รายการ
มีคำสงวนอีก 30 คำที่ไม่ได้อยู่ใน C ดังนั้นจึงเป็นคำใหม่สำหรับการเขียนโปรแกรม C++
มีคำสงวน C++ จำนวน 11 คำที่ไม่จำเป็นเมื่อใช้ชุดอักขระ ASCII มาตรฐาน แต่ได้มีการเพิ่มคำเหล่านี้เพื่อเป็นทางเลือกที่อ่านได้สำหรับโอเปอเรเตอร์ C++ บางตัว และยังอำนวยความสะดวกในการเขียนโปรแกรมด้วย ชุดอักขระที่ไม่มีอักขระที่จำเป็นสำหรับ C++
นี่คือรายการคำสงวนทั้งหมดเหล่านี้:
alignas (ตั้งแต่ C++11) | double | reinterpret_cast |
alignof (ตั้งแต่ C++11) | dynamic_cast | ต้องการ (ตั้งแต่ C++20) |
และ | else | return |
and_eq | enum | short |
asm | ชัดเจน | signed |
atomic_cancel (TM TS) | ส่งออก(1) | ขนาด(1) |
atomic_commit (TM TS) | extern(1) | static |
atomic_noexcept (TM TS) | เท็จ | static_assert (ตั้งแต่ C++11) |
อัตโนมัติ(1) | float | static_cast |
bitand | สำหรับ | struct(1) |
bitor | เพื่อน | สวิตช์ |
bool | goto | ซิงโครไนซ์ (TM TS) |
break | if | เทมเพลต |
case | นำเข้า (โมดูล TS) | นี่ |
จับ | inline(1) | thread_local (ตั้งแต่ C++11) |
ถ่าน | int | โยน |
char16_t (ตั้งแต่ C++11) | ยาว | จริง |
char32_t (ตั้งแต่ C++11) | โมดูล (โมดูล TS) | ลอง |
คลาส(1) | เปลี่ยนแปลงได้(1) | typedef |
compl | เนมสเปซ | typeid |
แนวคิด (ตั้งแต่ C++20) | ใหม่ | พิมพ์ชื่อ |
const | ไม่มีข้อยกเว้น (ตั้งแต่ C++11) | union |
constexpr (ตั้งแต่ C++11) | ไม่ | unsigned |
const_cast | not_eq | using(1) |
ดำเนินการต่อ | nullptr (ตั้งแต่ C++11) | virtual |
co_await (coroutines TS) | ตัวดำเนินการ | void |
co_return (coroutines TS) | หรือ | ระเหย |
co_yield (coroutines TS) | or_eq | wchar_t |
decltype (ตั้งแต่ C++11) | ส่วนตัว | ในขณะที่ |
ค่าเริ่มต้น(1) | มีการป้องกัน | xor |
ลบ(1) | public | xor_eq |
ทำ | register(2) | |