954,160 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

C++ Identifiers and Keywords


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.

Keywords

You can't use an identifier that is a C++ keyword in your programs. Keywords are:
[indent]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.

[/indent]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

Examples of acceptable identifiers are:
[indent]calculate_height, readWindSpeed, channel42, foo, BAR

[/indent]Examples of unacceptable identifiers:
[indent]calculate height, delete, 2letters, _HELLO_

[/indent]Hints and Tips

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

e.g.
[indent]int height rather than int h,
char menuSelection rather then char ch,
int patient_age rather than int number.

[/indent]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[].

Bob
Junior Poster
Team Colleague
129 posts since Feb 2003
Reputation Points: 15
Solved Threads: 2
 

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

proghelper
Light Poster
28 posts since Jun 2005
Reputation Points: 10
Solved Threads: 0
 

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

or

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

j198116
Newbie Poster
10 posts since Jul 2005
Reputation Points: 10
Solved Threads: 0
 

When can you use a $ in a variable?

jdumaine
Newbie Poster
1 post since Apr 2010
Reputation Points: 10
Solved Threads: 0
 
When can you use a $ in a variable?

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

Fbody
Posting Maven
2,930 posts since Oct 2009
Reputation Points: 833
Solved Threads: 393
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You