📄️ Default Arguments
Default arguments allow function parameters to have default values when not explicitly provided by the caller.
📄️ Overloading
Function overloading allows multiple functions with the same name but different parameters. The compiler selects the best match based on arguments.
📄️ Function Declarations
A function declaration (or prototype) specifies a function's name, return type, and parameters without providing the implementation.
📄️ Inline
inline suggests the compiler replace function calls with function body, eliminating call overhead. Modern compilers decide automatically.
📄️ constexpr
constexpr indicates values or functions can be evaluated at compile-time, enabling compile-time computation and optimization.
📄️ noexcept
noexcept specifies that a function won't throw exceptions, enabling optimizations and stronger guarantees.
📄️ Calling Conventions
Calling conventions define how functions receive parameters and return values at the assembly level - register usage, stack cleanup, and parameter passing order.