Software Development Exam  >  Software Development Notes  >  DSA in C++  >  Inline Functions & Default Parameters in C++

Inline Functions & Default Parameters in C++ | DSA in C++ - Software Development PDF Download

Introduction

When working with data structures and algorithms (DSA) in C++, it's important to understand two key concepts: inline functions and default parameters. These features can greatly enhance the readability and flexibility of your code. In this article, we will explore both concepts, providing multiple examples and simple code explanations to help beginners grasp their usage effectively.

Inline Functions

Inline functions are a way to optimize code execution by inserting the function body directly at the point where it is called, instead of going through the usual function call overhead. This can result in faster execution time for small, frequently used functions.
To define an inline function in C++, simply use the 'inline' keyword before the function declaration. Let's take a look at an example:

#include <iostream>

// Inline function to calculate the square of a number

inline int square(int num) {

    return num * num;

}

int main() {

    int x = 5;

    int result = square(x);

    std::cout << "The square of " << x << " is " << result << std::endl;

    return 0;

}

In this example, the 'square' function calculates the square of a number. By declaring it as 'inline', the compiler will replace the function call 'square(x)' with the actual code 'x * x'. This eliminates the overhead of the function call, resulting in more efficient execution.

Output:

The square of 5 is 25

Note that the compiler may choose not to inline a function in certain situations, such as when the function is recursive or too large. In such cases, the function will be treated as a regular function and the inline request ignored.

Default Parameters

Default parameters allow us to specify default values for function arguments. This means that if a value is not provided for a particular argument when calling the function, the default value will be used instead. Default parameters are helpful when you want to provide flexibility and convenience to the users of your functions.
To define a default parameter in C++, assign a value to the function parameter in the function declaration. Let's see an example:

#include <iostream>

// Function to display a message with a default name parameter

void displayMessage(std::string name = "Guest") {

    std::cout << "Welcome, " << name << "!" << std::endl;

}

int main() {

    displayMessage();  // No name provided

    displayMessage("Alice");  // Name provided

    return 0;

}

In this example, the displayMessage function displays a welcome message. If no name is provided, it defaults to "Guest". By specifying the default value for the name parameter, we make it optional for the user to provide a name when calling the function.

Output:

Welcome, Guest!

Welcome, Alice!

If the user provides a value for the name parameter, the default value will be overridden. Otherwise, the default value will be used.

Sample Problems

Problem 1: Write an inline function to calculate the cube of a number and display the result.

#include <iostream>

// Inline function to calculate the cube of a number

inline int cube(int num) {

    return num * num * num;

}

int main() {

    int x = 3;

    int result = cube(x);

    std::cout << "The cube of " << x << " is " << result << std::endl;

    return 0;

}

Output:

The cube of 3 is 27

Problem 2: Write a function that calculates the area of a rectangle. The function should have default parameters for length and width, with default values of 1.

#include <iostream>

// Function to calculate the area of a rectangle with default parameters

int calculateArea(int length = 1, int width = 1) {

    return length * width;

}

int main() {

    int area1 = calculateArea();  // No arguments provided

    int area2 = calculateArea(4);  // Only length provided

    int area3 = calculateArea(3, 5);  // Length and width provided

    std::cout << "Area 1: " << area1 << std::endl;

    std::cout << "Area 2: " << area2 << std::endl;

    std::cout << "Area 3: " << area3 << std::endl;

    return 0;

}

Output:

Area 1: 1

Area 2: 4

Area 3: 15

In the above example, we calculate the areas of three rectangles. If no arguments are provided, the default values of length and width (both 1) will be used. If only the length is provided, the default value of width (1) will be used. If both length and width are provided, the provided values will be used.

Conclusion

Inline functions and default parameters are powerful features in C++ that can improve the efficiency and flexibility of your code. By understanding and utilizing these concepts effectively, you can enhance your DSA implementations and write more concise and readable code.

Remember to use the inline keyword for small, frequently used functions, and assign default values to parameters to provide flexibility and convenience to users.

The document Inline Functions & Default Parameters in C++ | DSA in C++ - Software Development is a part of the Software Development Course DSA in C++.
All you need of Software Development at this link: Software Development
153 videos|115 docs|24 tests

Top Courses for Software Development

153 videos|115 docs|24 tests
Download as PDF
Explore Courses for Software Development exam

Top Courses for Software Development

Signup for Free!
Signup to see your scores go up within 7 days! Learn & Practice with 1000+ FREE Notes, Videos & Tests.
10M+ students study on EduRev
Related Searches

Inline Functions & Default Parameters in C++ | DSA in C++ - Software Development

,

practice quizzes

,

past year papers

,

Semester Notes

,

Summary

,

Inline Functions & Default Parameters in C++ | DSA in C++ - Software Development

,

Sample Paper

,

ppt

,

Exam

,

Inline Functions & Default Parameters in C++ | DSA in C++ - Software Development

,

Free

,

mock tests for examination

,

Important questions

,

MCQs

,

Extra Questions

,

shortcuts and tricks

,

pdf

,

study material

,

video lectures

,

Previous Year Questions with Solutions

,

Objective type Questions

,

Viva Questions

;