Bjarne Stroustrup's C++ Glossary Flashcards
(498 cards)
!=
the inequality operator; compares values for inequality returning a bool.
define
a directive that defines a macro.
include
a mechanism for textual inclusion of one source file into another. Typically used to compose a translation unit out of a .c file and the header files it needs to define its view if the rest of the program.
+=
add–and–assign operator; a+=b is roughly equivalent to a=a+b. Often a useful operation for user–defined types.
.c/.cpp/.cxx file
file containing definitions.
<<
- iostream output operator.
- integer left–shift operator.
=/assignment operator
the assignment operator; not an equality operator. = can be used for non-const built-in types (except arrays), enumerations, strings, containers, iterators, complex, and valarray. For a class, = is by default defined member-wise assignment; if necessary, the writer of a class can define it differently.
=0
curious notation indicating that a virtual function is a pure virtual function.
>>
- iostream input operator.
- integer right–shift operator.
==/equality operator
the equality operator; compares values for equality returning a bool. == can be used for built–in types, enumerations, strings, iterators, complex, and valarray. == is not by default defined for a class, but a user can define it for a user–defined type. Note that == doesn’t have the naively expected meaning for C–style strings or arrays.
abstract class/abstract type
a class defining an interface only; used as a base class. Declaring a member function pure virtual makes its class abstract and prevents creation of objects of the abstract class. Use of abstract classes is one of the most effective ways of minimizing the impact of changes in a C++ program and for minimizing compilation time.
abstraction
the act of specifying a general interface hiding implementation details. Classes, abstract classes, and templates are the primary abstraction mechanisms in C++. See also: encapsulation.
access control
access to bases and members of a class can be controlled by declaring them public, protected, or private.
adapter
a class that takes arguments producing a function object that performs an operation based on those arguments. A simple form of a higher–order function. For example, mem_fun() adapts a member function for use by the standard algorithms. See also: sequence adapter.
address
a memory location.
aggregate
an array or a struct without a constructor.
algorithm
a precise definition of a computation. The standard library provides about 60 standard algorithms, such as sort(), search(), and copy_unique().
alignment
placing objects in memory to suit hardware requirements. On many machines, an object must be aligned on a word boundary for acceptable performance.
allocator
object used by standard library containers to allocate and deallocate memory.
and
synonym for &&, the logical and operator.
application
a collection of programs seen as serving a common purpose (usually providing a common interface to their users).
argument
a value passed to a function or a template. In the case of templates, an argument is often a type.
argument passing
The semantics of function call is to pass a copy of an argument. The copy operation is defined by the argument type’s copy constructor or by binding to a reference. In either case the semantics is those of initialization.
argument–based lookup
lookup of a function name or operator based on the namespace of the arguments or operands. Often called Koenig lookup after Andrew Koenig who proposed the scheme to the standards committee.