Save
MIDTERM_2ND SEM.1
Data Structure & Algorithm Analysis
MASTERING C++ FUNCTIONS: From basics to adv techniques
Save
Share
Learn
Content
Leaderboard
Share
Learn
Created by
rein
Visit profile
Cards (32)
FUNCTION
in C++
A reusable block of code that performs a specific task
FUNCTION in C++
Takes inputs (
parameters
), processes them, and returns a
result
FUNCTION
in C++
Helps organize code into manageable, logical units
FUNCTION in C++
Improves code readability and organization
Enables code reusability, reducing redundancy
Simplifies debugging and maintenance
Supports modular programming approach
DEFINITION
contains the actual code of the
function
DECLARATION
tells computer about function name
return type
, and parameters
PARAMETERS
Variables
in function declaration
ARGUMENTS
Actual values passed to
function
RETURN TYPES
Specifies the type of value the
function
returns
RETURN TYPES
Can be any valid
C++
data type (
int
,
double
,
string
, etc.)
void
for functions that don't return a value
FUNCTION OVERLOADING
Multiple functions with the same name but different
parameters
FUNCTION OVERLOADING
Compiler distinguishes based on number or types of
parameters
DEFAULT ARGUMENTS
Provide default values for function
parameters
DEFAULT ARGUMENTS
Allows calling
function
with fewer arguments
INLINE FUNCTIONS
Suggestion to
compiler
to insert function code at the call site
INLINE FUNCTIONS
Can improve
performance
for small, frequently used functions
Inline functions
are substituted directly into the code at
compile-time
, making it harder to trace them during
debugging
.
stack
This complicates finding the function as there are no actual function calls to step through.
RECURSION
Function
that calls itself
RECURSION
Requires a
base case
to prevent infinite recursion
FUNCTION POINTERS
Store
address
of a function
FUNCTION POINTERS
Can be used to pass functions as
arguments
FUNCTION POINTERS syntax:
return_type
(*pointer_name)(
parameter_types
)
FUNCTION TEMPLATES
Generic functions that work with multiple
data types
FUNCTION TEMPLATES
Enables writing
type-independent
code
Passing
Arguments: BY VALUE
Creates a copy of the argument
Passing Arguments: BY VALUE
Original value remains
unchanged
Passing
Arguments
: BY REFERENCE
Passes memory address of the argument
Passing Arguments: BY REFERENCE
Changes affect the
original
value
const parameters
Cannot be modified within
function
const functions
Cannot modify object's
data members
Best Practices
for
C++ Functions
Use meaningful function names
Keep functions focused on a single task
Limit function size for
readability
Use
const
where appropriate
Consider
exception handling
for robust code
Document complex functions with comments