Category
page 1C++

C++
C++ is a high-level, general-purpose programming language created by Danish computer scientist Bjarne Stroustrup. First released in 1985 as an extension of the C programming language, adding object-oriented (OOP) features, it has since expanded significantly over time adding more OOP and other features; /C++98 standardization, C++ has added functional features, in addition to facilities for low-level memory manipulation for systems like microcomputers or to make operating systems like Linux or Windows, and even later came features like generic programming (through the use of templates). C++ is
Bjarne Stroustrup
Danish computer scientist, creator of C++ (born 1950)
template
feature in the C++ programming language
C++11
C++11 is a version of a joint technical standard, ISO/IEC 14882, by the International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC), for the C++ programming language. C++11 replaced the prior version of the C++ standard, named C++03, and was later replaced by C++14. The name follows the tradition of naming language versions by the publication year of the specification, though it was formerly named C++0x because it was expected to be published before 2010.
destructor
special method in object-oriented programming which is called deterministically to perform cleanup just before the object is deallocated
Boost
collection of C++ libraries
C++ class
type of data structure
C++20
C++20 is a version of the ISO/IEC 14882 standard for the C++ programming language. C++20 replaced the prior version of the C++ standard, called C++17, and was later replaced by C++23. The standard was technically finalized by WG21 at the meeting in Prague in February 2020, had its final draft version announced in March 2020, was approved on 4 September 2020, and published in December 2020.
virtual function
inheritable and overridable function or method for which dynamic dispatch is facilitated
C++17
C++17 is a version of the ISO/IEC 14882 standard for the C++ programming language. C++17 replaced the prior version of the C++ standard, called C++14, and was later replaced by C++20.
operator in C or C++
built-in and (in C++) overloadable functions
resource acquisition is initialization
programming idiom for resource management that ties access to a resource to an object's lifetime
run-time type information
C++ mechanism that exposes information about an object's data type at runtime
template metaprogramming
programming paradigm that uses compile-time metaprogramming
C++14
C++14 is a version of the ISO/IEC 14882 standard for the C++ programming language. It is intended to be a small extension over C++11, featuring mainly bug fixes and small improvements, and was replaced by C++17. Its approval was announced on August 18, 2014. C++14 was published as ISO/IEC 14882:2014 in December 2014.
<iostream>
C++ standard library header for input/output
undefined behavior
behavior of erroneous computer programs that the language standard permits to be unpredictable
trait
computer programming
C++23
C++23, formally ISO/IEC 14882:2024, is the current open standard for the C++ programming language, published in 2024. It follows C++20, and precedes C++26. The final draft of this version is N4950, which was technically finalized by WG21 in February 2023.
compatibility of C and C++
comparison of programming languages
C++03
C++03 is a version of the ISO/IEC 14882 standard for the C++ programming language. It is defined by two standards organizations, the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC), in standard ISO/IEC 14882:2003.
#pragma once
directive in C and C++ provided as a language extension
C dynamic memory allocation
memory management
new
C++ programming language construct
name mangling
programming languages concept
std::string
class in the C++ standard library that represents a string of characters
virtual inheritance
in object-oriented programming, inheritance in which the superclass object is accessed through an additional layer of indirection, such that in diamond-shaped multiple inheritance, the common superclass appears only once
C++ reference
specific kind of reference datatype in C++
typedef
'''' is a reserved keyword in the programming languages C, C++, and Objective-C. It is used to create an additional name (alias'') for another data type, but does not create a new type, except in the obscure case of a qualified typedef of an array type where the typedef qualifiers are transferred to the array element type. As such, it is often used to simplify the syntax of declaring complex data structures consisting of struct and union types, although it is also commonly used to provide specific descriptive type names for integer data types of varying sizes.
rule of three
a rule of thumb in C++ (prior to C++11) stating that if a class defines one (or more) of destructor, copy constructor, or copy assignment operator, then it should probably explicitly define all three
substitution failure is not an error
C++ programming technique utilizing the fact that an invalid substitution of template parameters is not in itself an error
Inner class
C++ concept
compile-time predicate on C++ template parameters
comparison of Java and C++
comparison between two coding languages
C++26
C++26 is the informal name for the version of the International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC) 14882 standard for the C++ programming language that follows C++23. The current working draft of this version is N5032. Papers proposed and adopted into the standard by the C++ Standards Committee and minutes of the standardization meeting held at Sofia, Bulgaria and online in June 2025 are publicly available. The draft wording is feature complete, and is being sent out for international comment ballot. After resolving some ballot comments a

C++/CX
C++/CX (C++ component extensions) is a language projection for Microsoft's Windows Runtime platform. It takes the form of a language extension for C++ compilers, and it enables C++ programmers to write programs that call Windows Runtime (WinRT) APIs. C++/CX is superseded by the C++/WinRT language projection, which is not an extension to the C++ language; rather, it's an entirely standard modern ISO C++17 header-file-based library.
Sequence point
Concept in computer programming
curiously recurring template pattern
software design pattern
opaque pointer
programming datatype
decltype
In the C++ programming language, decltype (for "declared type") is a keyword used to query the type of an expression. Introduced in C++11, its primary intended use is in generic programming, where it is often difficult, or even impossible, to express types that depend on template parameters.
copy constructor
constructor that initializes an object by copying the state of another object of the same type
default argument
argument to a function that a programmer is not required to specify
CFLAGS
CFLAGS and CXXFLAGS are either the name of environment variables or of Makefile variables that can be set to specify additional switches to be passed to a compiler in the process of building computer software. FFLAGS fulfills a similar role.
Wide character
data type
Pro*C
Pro*C (also known as Pro*C/C++) is an embedded SQL programming language used by Oracle Database DBMSes. Pro*C uses either C or C++ as its host language. During compilation, the embedded SQL statements are interpreted by a precompiler and replaced by C or C++ function calls to their respective SQL library. The output from the Pro*C precompiler is standard C or C++ code that is then compiled by any one of several C or C++ compilers into an executable.
include directive
programming language directive that textually substitutes one file into another
sizeof
'''''' is a unary operator in the C and C++ programming languages that evaluates to the storage size of an expression or a data type, measured in units sized as char. Consequently, the expression sizeof(char) evaluates to 1. The number of bits of type char is specified by the preprocessor macro CHAR_BIT, defined in the standard include file limits.h|. On most modern computing platforms this is eight bits. The result of sizeof is an unsigned integer that is usually typed as .
passive data structure
another term for record
comma operator
(C and C++ programming languages) binary operator that evaluates its first operand and discards the result, and then evaluates the second operand and returns this value (and type); represented by the token ,
copy elision
compiler optimization that eliminates copying of objects under certain conditions
assignment operator
operator used in C++
variadic macro
C preprocessor macro that can take an arbitrary number of arguments, defined with the __VA_ARGS__ and __VA_OPT__ identifiers
Partial template specialization
argument-dependent name lookup
C++ behavior