411 REFERENCE · Wikibooks
C++ Language
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
C++ Language A comprehensive and hierarchical description of the C++ programming language
Preface
This wiki book describes the C++ programming language.
Thank you for reading this wiki book!
Table of Contents
Overview
Preprocessing
Macros
Tokenization
Preprocessing Strings
Compile-time Constants
Compile-time Assertions
Conditional-Compilation
Namespace
Namespace Shortcuts
Nesting
Splitting across Files
Named and Unnamed
Type
Hungarian Prefixes
Boolean
Literals
Financial 1000-Markers
Binary and Hexadecimal
Custom Literals
Bitwise Representation
Ordering of Bytes
Negative Value
Bit Shifting
Non-char Byte
Bit Flags
Max Value
Overflow
INT_MAX
Conversion
Promoting Small Integers
Coercion
Casting
Enumeration
Shortcuts
Templated typedef
From Another Variable
From Initialization
From a return Statement
Trailing Return Type
Variant
Any-Variant
Templated-Variant
Optional-Value
RTTI: RunTime Type Information
Variables
Lifetime and Scope
Initialization
Uniform Initialization
Initialize without Constructor
Decomposing-Auto
Define at Same Time as Type
Indirection
Pointers
Typed NULL
Arrays
Reference Variables
Rvalue-References
Move-Semantics
Moving from this
Perfect Forwarding
Smart Pointers
Risk from Raw Pointers
Unique Ownership
Shared Ownership
Ownership Cycle
Owning an Array
Pointer to Base-Class
Returning this
Smart Compiler-Temporary
Custom Destruction
Template-Parameter
Expressions
Precedence
Chain of Assignment
Program Flow
Loops
Basic Loops
Looping over a Collection
The break Statement
A Break in a Nested Loop
Fallthrough in a Switch
Return Value
Parameters
Default Parameter
Unused Parameter
Variable Number of Parameters
Function Overloading
Discrimination Criteria
Across Inheritance
Function-Pointer
Deprecating a Function
Objects
Accessibility
Unwanted Compiler-Generated Functions
Constructors
Ordering
Initialization by Copy-Constructor
Initialization by One-Parameter-Constructor
Keeping Default Constructor
Delegation within Class
Memory Full
Placement New
Destructors
Const Members
Const Data Members
Const Member Functions
Static Members
Static Data Members
Static Member Functions
Inheritance
Polymorphism Syntax
Qualification Syntax
Restricted Overriding
Multiple Inheritance
Operator Overloading
Nested Classes
Pointer to Members
Low-Level C Structures
Union
Flexible-Array-Member
Bitfield
Templates
Templated-Functions
Templated-Classes
Templated-Variables
Template-Parameters
Default Template-Parameters
Deducing Template-Parameters
Variable Number of Template-Parameters
Traits
Unary Predicate Traits
Binary Predicate Traits
Array Traits
Unary Transform Traits
Binary Transform Traits
S.F.I.N.A.E. Conditional-Compilation
Metaprogramming
Numeric Template-Parameters
Collection of Types
Concepts
Error Handling
Returning an Error Code
Assertions
C++ Exception Handling
Standard Libraries
C-Runtime
Math
Basic Math
Trigonometry
Rational Numbers
Complex Numbers
Miscellaneous Math
Heap Memory
Allocation
Memory Manipulation
Leaks
Time
Time as a String
Precise Time
Timespan as CPU Clockticks
Basic Algorithms
Search
Quick Sort
Executing a Shell Command
STL: Standard Template Library
Collection Classes
Sequence Collections
Vector
Construction
Size
Equality
Indexing
Removing Items
Inserting Items
Assignment
Vector of Bool
STL-Array
Deque
List
Forward-List
Sorted Collections
A Pair as one Item
Tuple
Map
Construction
Sort-Class
Custom Sort-Class
Size
Equality
Indexing
Removing Items
Inserting Items
Assignment
Multimap
Set
Multiset
Hash-Table
Iterators
Basic Iterators
Ranges
Insert-Iterators
Reverse-Iterators
Stream-Iterators
Custom Iterators
Adapters
Stack
Queue
Binary-Heap
Callable-Objects
A Function Name as a Value
Member Function
Implicit Getter-Function
Functor
Lambda
Generic Lambda
Binding a new Function
Algorithms
Usage with a C-Array
Querying
Counting
Searching
Accumulating
Applying Item-by-Item
Processing Item-by-Item
Ignoring Prior Values
Item-by-Item Combination of Two Collections
Modifying
Copying
Removing
Reordering
Strings
Unicode
Avoiding Buffer-Overrun
Character Categories
C-String Manipulation
String Class
Construction
Equality
Indexing
Inserting Characters
Algorithms
Casting Numeric Values
Number to String
String to Number
AliasedStrings
Regular Expressions
Locale
IOStreams
Stringstream
Streaming Custom Types
Filesystem Access
Moving and Deleting
Directories
Binary-Files
Formatted I/O
Newline-Converted-Files
Size of a File
Redirecting stdout
Pipes
Console I/O
Streamed I/O
Multithreading
Thread Creation
Critical Section
Atomic Values
Locks
Events
Return Value
Semaphores
Resource Management
Fragment Ordering
Ring Buffer
Readers and Writers
Monitors and Channels
RNG: Random Number Generator
Obsolete Features
Trigraph Characters
An Obsolete Smart Pointer
Variadics before ANSI
Obsolete Function Binding
Boost Feature Graduation
Guidelines for Editors
C++ programming language
C
100%