In C++ we provide names for the entities we create, the variables, functions and types in our programs. These names, or identifiers, are required to conform to some simple rules.

Valid Characters

An identifier must start with a letter and is comprised of a sequence of letters and digits. Somewhat surprisingly, in this context the underscore _ is considered to be a letter (although there are conditions associated with its use). There's no restriction on the length of an identifier.

Use of Underscore

Identifiers beginning with an underscore followed by an upper case letter are reserved for use by the implentation, as are identifiers beginning with a two consecutive underscores, so to avoid problems you should refrain from using them for your own identifiers.


You can't use an identifier that is a C++ keyword in your programs. Keywords are:

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

You should also try to avoid using names from the C++ library, e.g. swap, max.

Case Sensitivity

C++ is case sensitive, so upper case and lower case characters are distinct. This means that the names userInput and userinput are recognised as two different identifiers.


Examples of acceptable identifiers are:

calculate_height, readWindSpeed, channel42, foo, BAR

Examples of unacceptable identifiers:

calculate height, delete, 2letters, _HELLO_

Hints and Tips

Use meaningful descriptive names to make your code more easily understood,


int height rather than int h,
char menuSelection rather then char ch,
int patient_age rather than int number.

Avoid names that differ only in capitalisation
e.g. height, Height.

Avoid using names that are keywords but with different capitalisation
e.g. Return, Continue.

Try to maintain a consistent style
Examples are:

- Capitalising all words except the first,
e.g. readInUserData(), getMaximumSpeed().

- Using underscore to separate words,
e.g. read_in_user_data(), get_maximum_speed().

- Using a type identifier prefix,
e.g. int nGetSomeIntegerValue, char szDataString[].

Recommended Answers

All 6 Replies

This tutorial is very helpful for beginning programmers because it provides a summary of keywords.

Also it is nice to have a simple referance on the rules for vriable names.

Programming ( Assignment / Project ) Help

This is one good intro to programming using C ++, and just to add please get an emphasis of using the surfixes ie

int Age_integer // age declared as an integer


char Name_character[10] // name as an array of 10 characters

becasue it makes it easier when doing the coding as you dont have to go back to the beggining to find out the type of your identifiers

When can you use a $ in a variable?

When can you use a $ in a variable?

You can't. That's why it wasn't mentioned.

Can keywords be used as identifiers?

Tanisha: see or read the very first post in this thread.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.