Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Từ khóa (Keywords) trong C++

Từ khóa (keywords) là những từ có ý nghĩa đã được định nghĩa sẵn bởi trình biên dịch. Các từ khóa này không thể dùng làm định danh. Lưu ý rằng từ khóa là tập hợp của các từ dành riêng (reserved words) và định danh được định nghĩa sẵn (predefined identifiers). Định danh được định nghĩa sẵn là những định danh do trình biên dịch định nghĩa nhưng có thể thay đổi ý nghĩa bởi người dùng.

Ví dụ, bạn có thể khai báo biến tên main bên trong hàm main, khởi tạo nó, rồi in ra giá trị (chỉ làm vậy để kiểm tra!). Nhưng bạn không thể làm vậy với biến tên else. Sự khác biệt là else là từ dành riêng, trong khi main "chỉ" là định danh được định nghĩa sẵn.

Tổng cộng có 95 từ dành riêng trong C++. Các từ dành riêng của C++ có thể phân nhóm thành vài nhóm. Nhóm đầu tiên gồm các từ cũng có trong C và được kế thừa sang C++. Có 32 từ như vậy.

Có 30 từ dành riêng khác không có trong C, do đó là mới trong C++.

Có 11 từ dành riêng C++ không bắt buộc khi dùng bộ ký tự ASCII chuẩn, nhưng được thêm vào để cung cấp các lựa chọn dễ đọc hơn cho một số toán tử, và hỗ trợ lập trình với các bộ ký tự thiếu ký tự cần thiết cho C++.

Dưới đây là danh sách tất cả các từ dành riêng:

Từ khóa Từ khóa Từ khóa
alignas (C++11)doublereinterpret_cast
alignof (C++11)dynamic_castrequires (C++20)
andelsereturn
and_eqenumshort
asmexplicitsigned
atomic_cancel (TM TS)exportsizeof
atomic_commit (TM TS)externstatic
atomic_noexcept (TM TS)falsestatic_assert (C++11)
autofloatstatic_cast
bitandforstruct
bitorfriendswitch
boolgotosynchronized (TM TS)
breakiftemplate
caseimport (modules TS)this
catchinlinethread_local (C++11)
charintthrow
char16_t (C++11)longtrue
char32_t (C++11)module (modules TS)try
classmutabletypedef
complnamespacetypeid
concept (C++20)newtypename
constnoexcept (C++11)union
constexpr (C++11)notunsigned
const_castnot_equsing
continuenullptr (C++11)virtual
co_await (coroutines TS)operatorvoid
co_return (coroutines TS)orvolatile
co_yield (coroutines TS)or_eqwchar_t
decltype (C++11)privatewhile
defaultprotectedxor
deletepublicxor_eq
doregister