I
identifier
  (1) One or more characters used to identify or name a data element and possibly to indicate certain properties of that data element. ANSI. (2) In programming languages, a token that names a data object such as a variable, an array, a record, a subprogram, or a function. ANSI. (3) A sequence of letters, digits, and underscores used to identify a data object or function. IBM.
if statement
  A conditional statement that contains the keyword if, followed by an expression in parentheses (the condition), a statement (the action), and an optional else clause (the alternative action). IBM.
implementation
  The hidden attributes and operations of an object. The implementation typically includes a description of the data structure of an object, definitions of the methods that access that data structure, and information about the type of the object.
implementation class
  A class that implements a concrete class. Implementation classes are never used directly.
import library
  In the OS/2 and Windows platforms, stub for a dynamic link library to resolve references at run time. An import library file has the file extension .lib.
include directive
  A preprocessor directive that copies the text of an included file into the file containing the directive.
include file
  A text file that contains declarations used by a group of functions, programs, or users. See header file. IBM.
included source file
  A source file defined for the project through #include statements in other source files. Included source files may be processed more than once during compilation. See primary source file, source file.
include statement
  In the C and C++ languages, a preprocessor statement that causes the preprocessor to replace the statement with the contents of a specified file. IBM.
incomplete class declaration
  A class declaration that does not define any members of a class. Typically, an incomplete class declaration is used as a forward declaration.
incomplete type
  A type that has no value or meaning when it is first declared. There are three incomplete types: void, arrays of unknown size, and structures and unions of unspecified content. A void type can never be completed. Arrays of unknown size and structures and unions of unspecified content can be completed in further declarations.
indirection
  (1) A mechanism for connecting objects by storing, in one object, a reference to another object. (2) In the C and C++ languages, the application of the unary operator * to a pointer to access the object the pointer points to.
inheritance
  (1) An object-oriented programming technique that allows the use of existing classes as bases for creating other classes. (2) A mechanism by which a derived class can use the attributes, relationships, and member functions defined in more abstract classes related to it (its base classes). See multiple inheritance.
initializer
  An expression used to initialize objects. In the C++ language, there are three types of initializers:
  1. An expression followed by an assignment operator is used to initialize fundamental data type objects or class objects that have copy constructors.
  2. An expression enclosed in braces ( { } ) is used to initialize aggregates.
  3. A parenthesized expression list is used to initialize base classes and members that use constructors.
inline function
  (1) In C++, a member function defined in the class declaration. (2) A function call that the compiler replaces with the actual code for the function. The keyword inline can be used to hint to the compiler to perform inline expansion of the body of a member or nonmember function.
inline
  To replace a function call with a copy of the function's code during compilation.
input stream
  A sequence of control statements and data submitted to a system from an input unit. IBM.
instance (of a class)
  An object that is a member of that class. An object created according to the definition of that class.
instance number
  A number that the operating system uses to keep track of all of the instances of the same type of device. For example, the amplifier-mixer device name is AMPMIX plus a 2-digit instance number. If a program creates two amplifier-mixer objects, the device names could be AMPMIX01 and AMPMIX02.
instantiate
  To create or generate a particular instance or object of a data type. For example, an instance `box1` of class `box` could be instantiated with the declaration:
  box box1;
instruction
  A program statement that specifies an operation to be performed by a computer and that identifies data involved in the operation. IBM.
instruction scheduling
  An optimization technique that reorders instructions in code to minimize execution time.
integer
  A positive or negative whole number or zero.
integer constant
  A decimal, octal, or hexadecimal constant.
integral object
  In the C language, a character object, an object having an enumeration type, an object having variations of the type int, or an object that is a bit field.
interactive graphics
  Graphics that a user at a display device can move or manipulate.
interactive video
  A combination of video and computer technology in which the user's actions, choices, and decisions affect the way in which the program unfolds.
internal data definition
  A description of a variable appearing in a block that directs the system to allocate storage for that variable and makes that variable accessible to the current block after its point of declaration.
internationalization
  The process of producing a computer program (design and code) that is totally free of any dependency on language, culture, script, and coded character sets. Strictly speaking, an internationalized product is not usable in any region of the world unless it is localized to that specific region. Also known as national language enablement. See localization.
interrupt
  A temporary suspension of a process caused by an external event, performed in such a way that the process can be resumed.
intersection
  Given collections A and B, the set of elements that is contained in both A and B.
intrinsic function
  A function supplied by the run-time library. Intrinsic functions may be inlined. Contrast with built-in function.
I/O Stream Library
  A class library that provides the facilities to deal with many varieties of input and output.
iteration
  The process of repeatedly applying a function to a series of elements in a collection until some condition is satisfied.
iteration order
  The order in which elements are accessed when iterating over a collection. In ordered collections, the element at position 1 will be accessed first, then the element at position 2, and so on. In sorted collections, the elements are accessed according to the ordering relation provided for the element type. In collections that are not ordered, the elements are accessed in an arbitrary order. Each element is accessed exactly once.
iterator class
  A class that provides iteration functions.