Glossary

Aggregate Initialization

Brace initialization of a type without user constructors.

See also: struct.

Callable

Any entity invokable with (): function, pointer, functor, lambda, bound member, etc.

See also: Callables overview, Function pointers, Functors, Lambdas, std::function.

Type Erasure

Technique that hides a concrete type behind a uniform interface (e.g., std::function).

See also: std::function.

Trailing Return Type

Placing the return type after parameters via auto f(...) -> ReturnType.

See also: Trailing return types.

decltype

An operator that inspects the type of an expression at compile time without evaluating it.

See also: decltype page.

Value Category

Classification of expressions (lvalue, prvalue, xvalue) that affects decltype results and overload resolution.

See also: decltype page.

constexpr

Marks expressions/functions as eligible for compile-time evaluation when arguments are constant expressions.

See also: constexpr functions.

inline

Hint and ODR relaxation enabling the same function definition in multiple translation units (e.g., headers).

See also: inline and ODR.

noexcept

Declares that a function does not throw; may enable optimizations.

See also: noexcept specifier.

Attributes

Standard attributes conveying intent to the compiler (e.g., [[nodiscard]], [[maybe_unused]], [[deprecated]]).

See also: Function attributes.