Table of Contents
C Plus Plus Primer, Fifth Edition Glossary
A
- anonymous union - Unnamed union that is not used to define an object. Members of an anonymous union become members of the surrounding scope. These unions may not have member functions and may not have private or protected members.
- bit-field - Class member with a integral type that specifies the number of bits to allocate to the member. Bit-fields defined in consecutive order in the class are, if possible, compacted into a common integral value.
- discriminant - Programming technique that uses an object to determine which actual type is held in a union at any given time.
- dynamic_cast - Operator that performs a checked cast from a base type to a derived type. When the base type has at least one virtual function, the operator checks the dynamic type of the object to which the reference or pointer is bound. If the object type is the same as the type of the cast (or a type derived from that type), then the cast is done. Otherwise, a zero pointer is returned for a pointer cast, or an exception is thrown for a cast to a reference type.
- enumeration - Type that groups a set of named integral constants.
- enumerator - Member of an enumeration. Enumerators are const and may be used where integral constant expressions are required.
- free - Low-level memory deallocation function defined in cstdlib. free may be used only to free memory allocated by malloc.
L
- linkage directive - Mechanism used to allow functions written in a different language to be called from a C++ program. All compilers must support calling C and C++ functions. It is compiler dependent whether any other languages are supported.
- local class - Class defined inside a function. A local class is visible only inside the function in which it is defined. All members of the class must be defined inside the class body. There can be no static members of a local class. Local class members may not access the nonstatic variables defined in the enclosing function. They may use type names, static variables, or enumerators defined in the enclosing function.
M
- malloc - Low-level memory allocation function defined in cstdlib. Memory allocated by malloc must be freed by free.
- mem_fn - Library class template that generates a callable object from a given pointer to member function.
N
- nested class - Class defined inside another class. A nested class is defined inside its enclosing scope: Nested-class names must be unique within the class scope in which they are defined but can be reused in scopes outside the enclosing class. Access to the nested class outside the enclosing class requires use of the scope operator to specify the scope(s) in which the class is nested.
- nested type - Synonym for nested class.
- nonportable - Features that are inherently machine specific and may require change when a program is ported to another machine or compiler.
O
- operator delete - Library function that frees untyped, unconstructed memory allocated by operator new. The library operator delete[] frees memory used to hold an array that was allocated by operator new[].
- operator new - Library function that allocates untyped, unconstructed memory of a given size. The library function operator new[] allocates raw memory for arrays. These library functions provide a more primitive allocation mechanism than the library allocator class. Modern C++ programs should use the allocator classes rather than these library functions.
P
- placement new expression - Form of new that constructs its object in specified memory. It does no allocation; instead, it takes an argument that specifies where the object should be constructed. It is a lower-level analog of the behavior provided by the construct member of the allocator class.
- pointer to member - Pointer that encapsulates the class type as well as the member type to which the pointer points. The definition of a pointer to member must specify the class name as well as the type of the member(s) to which the pointer may point:
T C::*pmem = &C::member;
This statement defines pmem as a pointer that can point to members of the class named C that have type T and initializes pmem to point to the member in C named member. To use the pointer, we must supply an object or pointer to type C:
classobj.*pmem; classptr→
- pmem;
fetches member from the object classobj or the object to which classptr points
R
- run-time type identification - Language and library facilities that allow the dynamic type of a reference or pointer to be obtained at run time. The RTTI operators, typeid and dynamic_cast, provide the dynamic type only for references or pointers to class types with virtual functions. When applied to other types, the type returned is the static type of the reference or pointer.
S
- scoped enumeration - New-style enumeration in which the enumerator are not accessible directly in the surrounding scope.
T
- typeid operator - Unary operator that returns a reference to an object of the library type named type_info that describes the type of the given expression. When the expression is an object of a type that has virtual functions, then the dynamic type of the expression is returned; such expressions are evaluated at run time. If the type is a reference, pointer, or other type that does not define virtual functions, then the type returned is the static type of the reference, pointer, or object; such expressions are not evaluated.
- type_info - Library type returned by the typeid operator. The type_info class is inherently machine dependent, but must provide a small set of operations, including a name function that returns a character string representing the type’s name. type_info objects may not be copied, moved, or assigned.
U
- union - Class-like aggregate type that may define multiple data members, only one of which can have a value at any one point. Unions may have member functions, including constructors and destructors. A union may not serve as a base class. Under the new standard, unions can have members that are class types that define their own copy-control members. Such unions obtain deleted copy control if they do not themselves define the corresponding copy-control functions.
- unscoped enumeration - Enumeration in which the enumerators are accessible in the surrounding scope.
V
- volatile - Type qualifier that signifies to the compiler that a variable might be changed outside the direct control of the program. It is a signal to the compiler that it may not perform certain optimizations.
Chapter 1 Getting Started
Part I The Basics
Chapter 2 Variables and Basic Types
Chapter 3 Strings, Vectors, and Arrays
C Plus Plus Strings, Vectors, and Arrays (C Plus Plus Strings, C Plus Plus Vectors, and C Plus Plus Arrays):
Chapter 4 Expressions
Chapter 5 Statements
Chapter 6 Functions
Chapter 7 Classes
Part II The C++ Library
Chapter 8 The IO Library
Chapter 9 Sequential Containers
Chapter 10 Generic Algorithms
Chapter 11 Associative Containers
Chapter 12 Dynamic Memory
Part III Tools for Class Authors
Chapter 13 Copy Control
Chapter 14 Overloaded Operations and Conversions
C Plus Plus Overloaded Operations and Conversions (C Plus Plus Overloaded Operations and C Plus Plus Conversions):
Chapter 15 Object-Oriented Programming
Chapter 16 Templates and Generic Programming
C Plus Plus Templates and Generic Programming (C Plus Plus Templates and C Plus Plus Generic Programming):
Part IV Advanced Topics
Chapter 17 Specialized Library Facilities
Chapter 18 Tools for Large Programs
Chapter 19 Specialized Tools and Techniques
Fair Use Sources
C++: C++ Fundamentals, C++ Inventor - C++ Language Designer: Bjarne Stroustrup in 1985; C++ Keywords, C++ Built-In Data Types, C++ Data Structures (CPP Containers) - C++ Algorithms, C++ Syntax, C++ OOP - C++ Design Patterns, Clean C++ - C++ Style Guide, C++ Best Practices ( C++ Core Guidelines (CG)) - C++ BDD, C++ Standards ( C++ 23, C++ 20, C++ 17, C++ 14, C++ 11, C++ 03, C++ 98), Bjarne Stroustrup's C++ Glossary, CppReference.com, CPlusPlus.com, ISOcpp.org, C++ Compilers (Compiler Explorer, MinGW), C++ IDEs, C++ Development Tools, C++ Linter, C++ Debugging, C++ Modules ( C++20), C++ Packages, C++ Package Manager ( Conan - the C/C++ Package Manager), C++ Standard Library, C++ Libraries, C++ Frameworks, C++ DevOps - C++ SRE, C++ CI/CD ( C++ Build Pipeline), C++ Data Science - C++ DataOps, C++ Machine Learning, C++ Deep Learning, Functional C++, C++ Concurrency, C++ History, C++ Topics, C++ Bibliography, Manning C++ Series, C++ Courses, CppCon, C++ Research, C++ GitHub, Written in C++, C++ Popularity, C++ Awesome , C++ Versions. (navbar_cplusplus – see also navbar_cpp_containers, navbar_cppcon, navbar_cpp_core_guidelines, navbar_cpp23, navbar_cpp20, navbar_cpp17, navbar_cpp14, navbar_cpp11)
© 1994 - 2024 Cloud Monk Losang Jinpa or Fair Use. Disclaimers
SYI LU SENG E MU CHYWE YE. NAN. WEI LA YE. WEI LA YE. SA WA HE.