accessed, given the point where that identifier is declared
self-documenting code program code containing meaningful identifiers as well as judiciously used clarifying comments
semantics the set of rules that determines the meaning of instructions written in a programming language
shallow copy an operation that copies one class object to another without copying any pointed-to data
short-circuit (conditional) evaluation evaluation of a logical expression in left-to-right order with evaluation stopping as soon as the final truth value can be determined
side effect any effect of one function on another that is not a part of the explicitly defined interface between them
significant digits those digits from the first nonzero digit on the left to the last nonzero digit on the right (plus any zero digits that are exact)
simple (atomic) data type a data type in which each value is atomic (indivisible)
software computer programs; the set of all programs available on a computer
sorting arranging the components of a list into order (for instance, words into alphabetical order or numbers into ascending or descending order)
source program a program written in a high-level programming language
static binding the compile-time determination of which function to call for a particular object
static variable a variable for which memory remains allocated throughout the execution of the entire program
string a collection of characters interpreted as a single item; in C++, a null-terminated sequence of characters stored in a char array
structured data type a collection of components whose organization is characterized by the method used to access individual components. The allowable operations on a structured data type include the storage and retrieval of individual components.
structured (procedural) programming the construction of programs that are collections of interacting functions or procedures
stub a dummy function that assists in testing part of a program. A stub has the same name and interface as a function that actually would be called by the part of the program being tested, but it is usually much simpler.
switch expression the expression whose value determines which switch label is selected. It cannot be a floating point expression.
syntax the formal rules governing how valid instructions are written in a programming language
T
tail recursion a recursive algorithm in which no statements are executed after the return from the recursive call
termination conditiont the condition that causes a loop to be exited
testing the state of a stream the act of using a C++ stream variable in a logical expression as if it were a Boolean variable; the result is nonzero (TRUE) if the last I/O operation on that stream succeeded, and zero (FALSE) otherwise
top-down design a technique for developing a program in which the problem is divided into more easily handled subproblems, the solutions of which create a solution to the overall problem
transformer an operation that builds a new value of the ADT, given one or more previous values of the type
two-dimensional array a collection of components, all of the same type, structured in two dimensions. Each component is accessed by a pair of indices that represent the component's position in each dimension.