C++ Tutorial - 2
Functions, Vectors & Efficient Iteration
5. Functions
Functions in C++ are crucial for encapsulating reusable code blocks, enhancing both modularity and maintainability in your programs.
Function Declaration
A function declaration specifies the function’s name, return type, and parameters. For example:
int add(int a, int b);
Function Definition
The function definition contains the executable code of the function. Here’s a simple function that adds two integers:
int add(int a, int b) { // Function definition
return a + b;
}
Parameters and Return Types
Functions can have parameters (inputs) and a return type (output). The types of the parameters define what data the function expects, and the return type specifies what data the function returns. Default Parameters
Default parameters allow functions to be called with fewer arguments than they are defined with. Here’s an example:
int multiply(int a, int b = 2) {
return a * b; // If b is not specified, it defaults to 2
}
Function Overloading
Function overloading allows you to have multiple functions with the same name but different parameter lists or types, enhancing readability and flexibility. I had a bit to much fun using this. While it can be helpfull, e.g. when you have the same functionality and just slightly different input, it might get a bit messy if you use it for different utils but name it the same (not that I haven’t done that).
int multiply(int a, int b = 2) {
return a * b;
}
// Overloaded with a different type
double multiply(double a, double b = 2) {
return a * b;
}
6. Introduction to Vectors
Vectors in C++ are dynamic arrays capable of resizing themselves automatically when elements are added or removed. They provide more flexibility than traditional arrays. Though those also exist in C++. Declaration and Initialization
Vectors can be declared and initialized in various ways:
std::vector<int> numbers; // Empty vector declaration
std::vector<int> nums = {1, 2, 3, 4, 5}; // Initialized with values
Manipulating Vectors
Vectors offer methods like push_back(), pop_back(), and size() to add elements, remove elements, and get the vector size:
numbers.push_back(6); // Adds '6' to the end of the vector
numbers.pop_back(); // Removes the last element
Swap two elements:
std::swap(nums[0], nums[4]); // Swapping first and last elements
Find the maximum element:
int maxElement = *max_element(nums.begin(), nums.end()); // Who's the biggest?
Reade here for more infos about vectors.
7. Range-Based For Loop with Vectors
Range-based for loops offer a simpler and more readable way to iterate over elements in containers like vectors. Syntax
Here’s how you can use a range-based for loop with vectors:
std::vector<int> nums = {1, 2, 3, 4, 5};
for (int element : nums) {
std::cout << element << " "; // Prints each element of the vector
}
Pretty neat
- Consult the C++ Documentation for more details on Functions and Vectors.
- Challenge yourself with projects that apply these concepts, like building a simple calculator or a basic to-do list.
Next Tutorial >>>Link will be here when the third tutorial is out>>>
Contact | Mail