cppreference.com
Create account
Log in
Namespaces
Template
Discussion
Variants
Views
View
Edit
History
Actions
Template:cpp/language/templates/navbar
From cppreference.com
C++
Compiler support
Freestanding and hosted
Language
Standard library
Standard library headers
Named requirements
Feature test macros
(C++20)
Language support library
Concepts library
(C++20)
Metaprogramming library
(C++11)
Diagnostics library
General utilities library
Strings library
Containers library
Iterators library
Ranges library
(C++20)
Algorithms library
Numerics library
Localizations library
Input/output library
Filesystem library
(C++17)
Regular expressions library
(C++11)
Concurrency support library
(C++11)
Execution support library
(C++26)
Technical specifications
Symbols index
External libraries
[edit]
C++ language
General topics
Preprocessor
Comments
Keywords
Escape sequences
Flow control
Conditional execution statements
if
switch
Iteration statements (loops)
for
range-
for
(C++11)
while
do-while
Jump statements
continue
-
break
goto
-
return
Functions
Function declaration
Lambda function expression
inline
specifier
Dynamic exception specifications
(
until C++17*
)
noexcept
specifier
(C++11)
Exceptions
throw
-expression
try
block
handler
Namespaces
Namespace declaration
Namespace aliases
Types
Fundamental types
Enumeration types
Function types
Class/struct types
Union types
Specifiers
const
/
volatile
decltype
(C++11)
auto
(C++11)
constexpr
(C++11)
consteval
(C++20)
constinit
(C++20)
Storage duration specifiers
Initialization
Default-initialization
Value-initialization
Zero-initialization
Copy-initialization
Direct-initialization
Aggregate initialization
List-initialization
(C++11)
Constant initialization
Reference initialization
Expressions
Value categories
Order of evaluation
Operators
Operator precedence
Alternative representations
Literals
Boolean
-
Integer
-
Floating-point
Character
-
String
-
nullptr
(C++11)
User-defined
(C++11)
Utilities
Attributes
(C++11)
Types
typedef
declaration
Type alias declaration
(C++11)
Casts
Implicit conversions
static_cast
const_cast
Explicit conversions
dynamic_cast
reinterpret_cast
Memory allocation
new
expression
delete
expression
Classes
Class declaration
Constructors
this
pointer
Access specifiers
friend
specifier
Class-specific function properties
Virtual function
override
specifier
(C++11)
final
specifier
(C++11)
explicit
(C++11)
static
Special member functions
Default constructor
Copy constructor
Move constructor
(C++11)
Copy assignment
Move assignment
(C++11)
Destructor
Templates
Class template
Function template
Template specialization
Parameter packs
(C++11)
Miscellaneous
Inline assembly
History of C++
[edit]
Templates
Parameters and arguments
Class templates
Function templates
Class member templates
Variable templates
(C++14)
Template argument deduction
Class template argument deduction
(C++17)
Explicit (full) specialization
Partial specialization
Dependent names
Parameter packs
(C++11)
sizeof...
(C++11)
Fold expressions
(C++17)
Pack indexing
(C++26)
SFINAE
Constraints and concepts
(C++20)
Requires expression
(C++20)
[edit]