D
daemon
  A program that runs unattended to perform a service for other programs.
data abstraction
  A data type with a private representation and a public set of operations. The C++ language uses the concept of classes to implement data abstraction.
data definition
  (1) A program statement that describes the features or establishes the context of data. (2) A definition that describes a data object, reserves storage for a data object, and can provide an initioal value for a data object. A data object appears outside a function or at the beginning of a block statement. IBM.
data member
  The smallest possible piece of complete data. Elements are composed of data members.
data object
  Anything that exists in storage and on which operations can be performed. Examples include files, programs, and arrays.
data structure
  The internal data representation of an implementation.
data type
  (1) The mathematical properties and internal representation of data and functions. The four basic types are integer, real, complex, and logical. IBM. (2) An attribute used for defining data as numeric or character. IBM.
DBCS
  See double-byte character set.
debug
  To detect, locate, and correct errors in a program.
decimal constant
  (1) A numeric data type used in standard arithmetic operations. (2) A number containing any of the digits 0 through 9. IBM.
deck
  A line of child windows in a set canvas that is direction-independent. A horizontal deck is equivalent to a row and a vertical deck is equivalent to a column.
declaration
  (1) An expression that introduces a name to a program and specifies how the name is to be interpreted. Synonymous with directive. (2) The mechanism for establishing a language object. (3) In the AIX operating system, a description that makes a defined object available to a function or a block. IBM. (4) In the C language, a description that makes an external object or function available to a function or a block statement. IBM.
declarator
  In the AIX operating system, an identifier and optional symbols that describe the data type. See array declarator, function declarator.
declare
  To specify the interpretation that C++ gives to each identifier.
default
  A value, attribute, or option that is assumed when no alternative is specified by the programmer.
default argument
  An argument that is declared with a default value in a function prototype or declaration. If a call to the function omits this argument, the default value is used. Arguments with default values must be the trailing arguments in a function prototype argument list. See argument.
default class
  A class with preprogrammed definitions that can be used for simple implementations.
default clause
  In a C or C++ switch statement, the keyword default, followed by a colon and one or more statements. When the conditions of the specified case labels in the switch statement do not hold, the default clause is chosen.
default constructor
  (1) A constructor that takes no arguments. (2) A constructor for which all the arguments have default values. See constructor, destructor.
default implementation
  One of several possible implementation variants offered as the default for a specific abstract data type.
default initialization
  The initial value assigned to a data object by the compiler if no initial value is specified by the programmer. The variables extern and static receive a default initialization of zero, while the default initial value for the auto and register variables is undefined.
default operation class
  A class with preprogrammed definitions for all required element and key operations for a particular implementation.
define
  In the AIX operating system, to create an entry in the Customized Devices Database and establish the parent device and the connection location. IBM.
define directive
  A preprocessor statement that directs the preprocessor to replace an identifier or macro invocation with a specified portion of code.
definition
  (1) A data description that reserves storage and may provide an initial value. (2) A declaration that allocates storage, and may initialize a data object or specify the body of a function.
degree
  The number of children of a node.
delete
  (1) A C++ keyword that identifies a free-storage deallocation operator. (2) A C++ operator used to destroy objects created by operator new.
demangling
  The conversion of mangled names back to their original source code names. During C++ compilation, identifiers such as function and static class member names are mangled (encoded) with type and scoping information to ensure type-safe linkage. These mangled names appear in the object file and the final executable file. Demangling (decoding) converts these names back to their original names to make program debugging easier. See mangling.
deque
  A queue that can have elements added and removed at both ends. A double-ended queue.
dequeue
  An operation that removes the first element of a queue. See enqueue.
derivation
  (1) The creation of a new or derived class from an existing base class. (2) The relationship between a class and the classes above or below it in a class hierarchy.
derived class
  A class that inherits from a base class. You can add new data members and member functions to the derived class. You can manipulate a derived class object as if it were a base class object. The derived class can override virtual functions of the base class.
destructor
  In C++, a special member function that has the same name as its class, preceded by a tilde (~). It "cleans up" after an object of that class. For example, a destructor frees storage that was allocated when the object was created. A destructor has no arguments, and no return type is specified. See constructor.
device
  A computer peripheral or an object that appears to the application as such. X/Open, I.
digital audio
  Audio data that has been converted to digital form.
digital video
  Material that can be seen and that has been converted to digital form.
digital video device
  A full-motion video device that can record or play files (or both) containing digitally stored video.
diluted array
  An array in which elements are deleted by being flagged as deleted, rather than by actually removing them from the array and shifting later elements to the left.
diluted sequence
  A sequence implemented using a diluted array.
direct manipulation
  (1) A user interface technique whereby the user initiates application functions by manipulating the objects, represented by icons, on the desktop. Also known as drag-and-drop manipulation. (2) In the Windows operating system, a unit of data. The unit is often part of a task that is shared among users.
directive
  A control statement that directs the operation of a feature and is recognized by a preprocessor or other tool. See statement.
directory
  A type of file containing the names and controlling information for other files or other directories. IBM.
display
  To direct the output to the user's terminal. If the output is not directed to the terminal, the results are undefined. X/Open.
DLL
  See dynamic link library.
do statement
  In C and C++, a looping statement that contains the word do followed by a statement (the action), the word while, and an expression in parentheses (the condition). IBM.
double-byte character set (DBCS)
  A set of characters in which each character is represented by 2 bytes. Languages such as Japanese, Chinese, and Korean, which contain more symbols than can be represented by 256 code points, require double-byte character sets. Because each character requires 2 bytes, you need hardware and supporting software that are DBCS-enabled to enter, display, and print DBCS characters. Contrast with single-byte character set.
double-precision
  Pertaining to the use of two computer words to represent a number in accordance with the required precision. I, ANSI.
doubleword
  A contiguous sequence of bits or characters that comprises two computer words and can be addressed as a unit.
drag after
  A target enter event that occurs in a container where its orderedTargetEmphasis or mixedTargetEmphasis attribute is set and the current view is name, text, or details.
drag item
  A proxy for the object being manipulated.
drag over
  A target enter event that occurs in a container where its orderedTargetEmphasis attribute is not set and the current view is icon or tree view.
dump
  To copy data in a readable format from main or auxiliary storage onto an external medium such as tape, diskette, or printer. IBM.
dynamic
  Pertaining to an operation that occurs at the time it is needed rather than at a predetermined or fixed time. IBM.
dynamic binding
  Resolution of a call to a virtual member function at run time.
dynamic casting
  An intelligent mechanism for obtaining the correct pointer to a base class.
dynamic linking
  Linking on demand at run time. Contrast with static linking.
dynamic link library (DLL)
  On OS/2 and Windows operating systems, a file containing executable code and data bound to a program at load time or run time, rather than during linking. The code and data in a dynamic link library can be shared by several applications simultaneously. IBM. In VisualAge application development, a dynamic link library must have the file extension .dll. See shared library. Contrast with static library.
dynamic storage
  See automatic storage.