queue | An ordered set of objects waiting for a service of some kind. |
queueing discipline | The rules that determine which member of a queue is removed next. |
recursion | The process of calling the same function you are currently executing. |
reference | A value that indicates or refers to a variable or structure. In a state diagram, a reference appears as an arrow. Similar to a pointer, however, references have different syntax and traditional uses from pointers. |
return type | The type of value a function returns. |
return value | The value provided as the result of a function call. |
root | The top-most node in a tree, to which no other nodes refer. |
run-time error | An error in a program that makes it fail at run-time. |
scaffolding | Code that is used during program development but is not part of the final version. |
seed | A value used to initialize a random number sequence. Using the same seed should yield the same sequence of values. |
selection sort | The simple sorting algorithm in Section 13.7. |
semantics | The meaning of a program. |
shallow equality | Equality of references. Two references that point to the same object. |
shifted sum | A simple hash function often used for compounds objects like Strings. |
source code | A program in a high-level language, before being compiled. |
startup class | The class that contains the main method where execution of the program begins. |
state diagram | A snapshot of the state of a program, shown graphically. |
state | A complete description of all the variables and objects and their values, at a given point during the execution of a program. |
statement | A line of code that represents a command or action. So far, the statements we have seen are declarations, assignments, and output statements. |
stream | A data structure that represents a "flow" or sequence of data items from one place to another. In C++ streams are used for input and output. |
structure | A collection of data grouped together and treated as a single object. |
syntax error | An error in a program that makes it impossible to parse (and therefore impossible to compile). |
syntax | The structure of a program. |
tab | A special character, written as \verb+\t+ in C++, that causes the cursor to move to the next tab stop on the current line.
|
table | An ADT that defines operations on a collection of entries. |
templates | Also known as parameterized types, templates allow the programmer to save time and space in source code by simplifying code through overloading functions with an arbitrary typeparameter. |
this | A keyword that refers to the current object. this is a pointer, which makes it difficult to use, since we do not cover pointers in this book. |
token | A set of characters that are treated as a unit for purposes of parsing, like the words in a natural language. |
traverse | To iterate through all the elements of a set performing a similar operation on each. |
type | A set of values. The types we have seen are integers (int in C++) and characters (char in C++). |
typecast | An operator that converts from one type to another. In Java it appears as a type name in parentheses, like (int). |
typeparameter | The typeparameter is the arbitrary label or name that you use in your template to represent the various datatypes, structs, or classes. |
value | A letter, or number, or other thing that can be stored in a variable. |
variable | A named storage location for values. All variables have a type, which determines which values it can store. |
vector | A named collection of values, where all the values have the same type, and each value is identified by an index. |
veneer | A class definition that implements an ADT with method definitions that are invocations of other methods, sometimes with simple transformations. The veneer does no significant work, but it improves or standardizes the interface seen by the client. |
virtual | The keyword that is used by any function defined in a parent class that can be overloaded in subclasses. |
void | A special return type that indicates a void function; that is, one that does not return a value. |
wrapper method | A method that acts as a middle-man between a caller and a helper method, often offering an interface that is cleaner than the helper method's. |