Trong C++ có một bộ 84 từ đặt biệt (kể từ C ++ 17) để sử dụng khi viết chương trình. Những từ này được gọi là từ khóa (hoặc từ dành riêng) và mỗi từ khóa này có một ý nghĩa đặc biệt trong ngôn ngữ C ++.

Dưới đây là danh sách tất cả các từ khóa trong C ++ (bao gồm C ++ 17):

alignas (C++11)
alignof (C++11)
and
and_eq
asm
auto
bitand
bitor
bool
break
case
catch
char
char16_t (C++11)
char32_t (C++11)
class
compl
const
constexpr (C++11)
const_cast
continue
decltype (C++11)
default
delete
do
double
dynamic_cast
else
enum
explicit
export
extern
false
float
for
friend
goto
if
inline
int
long
mutable
namespace
new
noexcept (C++11)
not
not_eq
nullptr (C++11)
operator
or
or_eq
private
protected
public
register
reinterpret_cast
return
short
signed
sizeof
static
static_assert (C++11)
static_cast
struct
switch
template
this
thread_local (C++11)
throw
true
try
typedef
typeid
typename
union
unsigned
using
virtual
void
volatile
wchar_t
while
xor
xor_eq

Các từ khóa được đánh dấu (C ++ 11) là những từ đã được thêm vào trong C ++ 11. Nếu trình biên dịch của bạn không tuân thủ C ++ 11 (hoặc có các tính năng trong C ++ 11, nhưng nó bị tắt theo mặc định), các từ khóa này có thể không hoạt động.

C ++ 11 cũng thêm hai định danh đặc biệt: overridefinal. Chúng có một ý nghĩa cụ thể khi được sử dụng trong các trường hợp nhất định.

Bạn đã biết một số từ khóa này, bao gồm cả int và return. Cùng với một tập hợp các toán tử, các từ khóa và định danh đặc biệt được định nghĩa trong ngôn ngữ của C ++. Vì các từ khóa có ý nghĩa đặc biệt nên IDE của bạn có thể thay đổi màu của các từ khoá đó (thường thành màu xanh) để làm cho chúng nổi bật so với các từ định danh khác.

Khi bạn hoàn thành loạt các bài hướng dẫn này, bạn sẽ hiểu hầu như tất cả những từ này làm gì!

1. Quy tắc đặt tên không trùng lặp

Xin nhắc lại, tên của một biến (hoặc hàm, kiểu) được gọi là định danh. C ++ cung cấp cho các bạn rất nhiều cách để định nghĩa tên theo ý muốn. Tuy nhiên, có một vài quy tắc phải được tuân theo khi đặt tên định danh:

  • Code định danh không thể là một từ khóa. Từ khóa ở bảng phía trên.
  • Code định danh chỉ có thể bao gồm các chữ cái (chữ thường hoặc chữ hoa), số và ký tự gạch dưới. Điều đó có nghĩa là tên không thể chứa các ký hiệu (ngoại trừ dấu gạch dưới) cũng như khoảng trắng (khoảng trắng hoặc tab).
  • Code định danh phải bắt đầu bằng một chữ cái (chữ thường hoặc chữ hoa) hoặc dấu gạch dưới. Nó không thể bắt đầu bằng một con số.
  • C ++ phân biệt chữ hoa chữ thường, do đó phân biệt chữ thường và chữ in hoa. nvalue khác với nValue khác với NVALUE.

2. Cách thực hành đặt tên

Bây giờ bạn đã biết làm thế nào để đặt tên cho một biến, Giờ đây chúng ta sẽ nói về cách bạn nên đặt tên cho một biến (hoặc hàm) như thế nào là hợp lý.

Đầu tiên, một quy ước trong C ++ là các tên biến nên bắt đầu bằng một chữ cái viết thường. Nếu tên biến là một từ, toàn bộ nên viết bằng chữ thường.

int value; // correct
 
int Value; // incorrect (should start with lower case letter)
int VALUE; // incorrect (should start with lower case letter)
int VaLuE; // incorrect (see your psychiatrist) ;)

Thông thường, các tên hàm cũng được bắt đầu bằng một chữ cái viết thường. Chúng tôi sẽ tuân theo quy ước này, vì hàm main (mà tất cả các chương trình phải có) bắt đầu bằng một chữ cái viết thường, cũng như tất cả các hàm trong thư viện chuẩn C ++.

Tên định danh bắt đầu bằng chữ in hoa thường được sử dụng cho các Kiểu dữ liệu do người dùng định nghĩa (chẳng hạn như structs, classes, và enumerations, chúng ta sẽ đề cập chúng sau).

Nếu tên biến hoặc tên hàm là nhiều từ, có hai quy ước phổ biến: được phân tách bằng dấu gạch dưới hoặc xen kẽ (Quy tắt đặt tên theo camelCase, vì các chữ in hoa nhô lên như bướu trên một con lạc đà).

/**
* Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
*
* @author cafedevn
* Contact: cafedevn@gmail.com
* Fanpage: https://www.facebook.com/cafedevn
* Instagram: https://instagram.com/cafedevn
* Twitter: https://twitter.com/CafedeVn
* Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
*/

int my_variable_name; // correct (separated by underscores)
int my_function_name(); // correct (separated by underscores)
 
int myVariableName; // correct (intercapped/CamelCase)
int myFunctionName(); // correct (intercapped/CamelCase)
 
int my variable name; // invalid (whitespace not allowed)
int my function name(); // invalid (whitespace not allowed) 
 
int MyVariableName; // valid but incorrect (should start with lower case letter)
int MyFunctionName(); // valid but incorrect (should start with lower case letter)

Mẹo

Thứ nhất, Khi làm việc trong một chương trình đã or đang phát triển, hãy sử dụng các quy ước của chương trình đó (ngay cả khi họ không tuân thủ các cách tốt nhất hiện tại). Sử dụng các cách hiện đại khi bạn viết chương trình mới.

Thứ hai, bạn nên tránh đặt tên định danh của mình bắt đầu bằng dấu gạch dưới, vì những tên này thường được dành riêng cho hệ điều hành, thư viện và / hoặc sử dụng trình biên dịch.

Thứ ba, biến số của bạn nên làm rõ giá trị mà chúng đang giữ. Code định danh nên được đặt tên theo cách có thể giúp những người không biết code của bạn có thể tìm ra code một cách nhanh nhất có thể. Trong 3 tháng, khi bạn xem lại chương trình của mình, bạn sẽ quên cách hoạt động của nó và bạn sẽ cảm ơn chính mình vì đã chọn các tên biến có ý nghĩa.

Tuy nhiên, việc đặt một biến tầm thường bằng một tên quá phức tạp sẽ cản trở sự hiểu biết chung về những gì chương trình đang làm, giống như là cung cấp cho một định danh được sử dụng rộng rãi với một tên không đầy đủ. Do đó, một nguyên tắc nhỏ là làm cho chiều dài của một định danh tỷ lệ thuận với mức độ sử dụng rộng rãi của nó. Một code định danh có thể là một tên ngắn (ví dụ: x). Một code định danh được sử dụng rộng rãi hơn (ví dụ: một hàm được gọi từ nhiều nơi khác nhau trong một chương trình) phải có tên mô tả dài hơn và nhiều hơn (ví dụ: thay vì mở, hãy thử openFileOnDisk).

int ccount Bad Không hiểu rõ c và count là gì, đang đếm cái gì?
int customerCountGoodChúng ta hiểu rõ mình đang đếm số lượng khách
int iEitherTạm chấm nhận, nhưng thường dùng trong phạm vi nhở nào đó.
int indexEitherKhá rõ ràng, đó là index cho cái gì đó.
int totalScoreEitherTổng điểm nhưng không biết của cái gì.
int _countBadkhông này dùng dấu gạch dưới đầu tiên
int countEitherĐếm một cái gì đó.
int dataBadKhông hiểu rõ data này cả ai cả
int timeBadKhông hiểu time này có gồm giờ, phút , giây không?
int minutesElapsedGoodMô tả rõ
int value1, value2EitherCó thể khó phân biệt giữa hai giá trị này
int numApplesGoodMô tả rõ
int monstersKilledGoodMô tả rõ
int x, yEitherTạm chấm nhận, nhưng thường dùng trong phạm vi nhở nào đó.

Cuối cùng, một comment rõ ràng có thể tốt cho một chương trình. Ví dụ: giả sử chúng tôi đã khai báo một biến có tên numberOfChars được cho là lưu trữ số lượng ký tự trong một đoạn văn bản. Văn bản của Hello World! Có các ký tự 10, 11 hoặc 12 không? Nó phụ thuộc vào việc chúng ta có bao gồm cả khoảng trắng hay dấu chấm câu hay không. Thay vì đặt tên biến NumerOfCharsIncludingWhitespaceAndPuncinating, khá dài, một comment được đặt tốt trên dòng khai báo sẽ giúp người dùng hiểu nó hơn:

// holds number of chars in a piece of text -- including whitespace and punctuation!
int numberOfChars;

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!