A C string is a literal value representing a variable number of characters. An example is "This is a test.". C strings are surrounded by double quotes ("). Please note that this is not the same as a C++ string.

A cache is a small amount of fast memory where frequently used data are stored temporarily.

Call; see function call or call instruction.

A call instruction is an assembly language instruction that is used to implement a function call. It saves the program counter on the stack, and then transfers execution from the calling function to the called function.

A called function is a function that starts execution as the result of a function call. Normally, it will return to the calling function via a return statement when finished.

A calling function is a function that suspends execution as a result of a function call; the called function begins execution at the point of the function call.

A char is an integer variable type that can represent either one character of text or a small whole number. Both signed and unsigned chars are available for use as "really short" integer variables; a signed char can represent a number from -128 to +127, whereas an unsigned char can represent a number from 0 to 255. In case you were wondering how to pronounce this term, the most common pronunciation has an a like the a in "married", while the ch sounds like k. Other pronunciations include the standard English pronunciation of "char", as in overcooking meat, and even "car" as in "automobile".

A char* (pronounced "char star") is a pointer to (i.e., the memory address of) a char or the first of a group of chars.

cin (pronounced "see-in") is a predefined istream; it gets its characters from the keyboard.

A class is a user defined type; for example, string is a class.

A class implementation tells the compiler how to implement the facilities defined in the class interface. A class implementation is usually found in a source code file, which by convention has the extension .cc.

A class interface tells the compiler what facilities the class provides. This interface is usually found in a header file, that is, one with the extension .h.

The class membership operator, ::, indicates which class a function belongs to. Thus, the full name of the default constructor for the string class is string::string().

class scope describes the visibility of member variables: that is, those that are defined within a class. These variables can be accessed by any member function of that class; their accessibility to other functions is controlled by the access specifier in effect when they were defined in the class interface.

A comment is a note to yourself or another programmer; it is ignored by the compiler. The symbol // marks the beginning of a comment; the comment continues until the end of the line containing the //. For those of you with BASIC experience, this is just like REM (the "remark" keyword); anything after it on a line is ignored.

Compilation is the process of translating source code into an object program, which is composed of machine instructions along with the data needed by those instructions. Virtually all of the software on your computer was created by this process.

A compiler is a program that performs the process of compilation.

A compiler-generated function is supplied by the compiler because the existence of that function is fundamental to the notion of a concrete data type. The compiler will generate its own version any of the following functions that are not written by the class writer: the assignment operator, the copy constructor, the default constructor, and the destructor.

Compile time means "while the compiler is compiling the source code of a program".

A concrete data type is a class whose objects behave like variables of native data types. That is, the class gives the compiler enough information that objects of that class can be created, copied, assigned, and automatically destroyed just as native variables are.

The keyword const has two distinct meanings as employed in this book. The first is used as a modifier to an argument of a function; in this context, it means that we are promising not to modify the value of that argument in the function. An example of this use might be the function declaration void operator = (const string& Str);. The second use of const in this book is to define a data item similar to a variable, except that its value cannot be changed once it has been initialized. For this reason, it is mandatory to supply an initial value when creating a const. An example of this use is const short x = 5;.

A constructor is a member function that creates new objects of a (particular) class type. All constructors have the same name as the class for which they are constructors; therefore, the constructors for the string class also have the name string.

A continuation expression is the part of a for statement computed before every execution of the controlled statement. The statement controlled by the for will be executed if the result of the computation is true, but not if it is false; see the entry for the for statement for an example.

A controlled block is a block under the control of a loop control statement or an if or else statement. The controlled block of a loop control statement can be executed a variable number of times, whereas the controlled block of an if or else statement is executed either once or not at all.

Controlled statement; see controlled block.

A copy constructor makes a new object with the same contents as an existing object of the same type.

cout (pronounced "see out") is a predefined ostream; characters sent to it are displayed on the screen.

CPU is an abbreviation for Central Processing Unit. This is the "active" part of your computer, which executes all the machine instructions that make the computer do useful work.

The curly braces { and } are used to surround a block. The compiler treats the statements in the block as one statement.

To return to the main glossary page, click here