Inline functions

Aug 31, 2018

We create functions for the same sort of operations to be performed in different locations of the program. This mechanism reduces the memory space, avoids the repetition or duplication of code. On the other hand, calling a function somewhat increases the overhead to the system. When the function call occurs, the compiler stores the information to return back to the call location and its arguments to the stack, and at the end of the called function it unwinds the stack and returns to the calling location. This kind of mechanism definately overheads the system or compiler for the very short routines.

So, to save the execution time for the small or short functions, and avoiding the duplication mechanism of code as it is, c++ introduces the mechanism that copies the codes of the function in every called location so that the jump overhead is avoided. This type of function whose code is copied in the called location is called inline function. To make a function inline, the inline  keyword is written in front of the function defination.

Syntax:

inline return_type function_name(arg1, arg2, ..... argn){

    //function body

If the function is defined, after its prototype, the prototype is defined as normal function and only the keyword inline  is mentioned in defination.

Inline function is not suitable for the functions with long codes, as it increases the length of the source code due to inline compilation. And it also may increase the use of the memory. So the program that concerns less use of memory with compromisation on small execution speed, inline function is not suitable.

  • Inline function is just the request to the compiler, for larger functions most of the compilers treat them as normal functions.

Example:

//program to find the area of circle
#include
using namespace std;
#define PI 3.1416

//inline function defination
inline float area(float radius){
return PI * radius * radius;
}

int main(){
float r1;
cout<<"Enter radius :"<<endl;
cin>>r1;
cout<<"Area with radius "<<r1<<" = "<<area(r1)<<endl;
cout<<"Enter radius :"<<endl;
cin>>r1;
cout<<"Area with radius "<<r1<<" = "<<area(r1)<<endl;
cout<<"Enter radius :"<<endl;
cin>>r1;
cout<<"Area with radius "<<r1<<" = "<<area(r1)<<endl;
return 0;
}

 

Related


31 Write a program to enter the name and salary for a number of employees, store them all in a file, and finally search and display the salary...............
Date: Sep 22, 2018
32 Write a program, using a class to read the contents of the text file and convert all upper case letters to lower case and vice-versa and write the result in to another file.
Date: Sep 22, 2018
33 Write a program to enter the id and price of a number of products, store them all in a user defined file, and search the product when particular id is entered.
Date: Sep 22, 2018
34 Write a program using class template to sort two lists of numbers, one integer list and another floating point list.
Date: Sep 23, 2018
35 Write a program using function template to sort two lists of numbers, one integer list and another floating point list.
Date: Sep 23, 2018
36 Write a program using function template to find the sum of first and last element of an array.
Date: Sep 23, 2018
37 Write a template function to find the maximum number from the template array of size N.
Date: Sep 23, 2018
38 Write a function template to swap the numbers.
Date: Sep 23, 2018
39 Write a program using class template to swap two set of numbers.(one integer set and another floating point set)
Date: Sep 23, 2018
40 Exception handling in C++
Date: Aug 11, 2019
41 Explain the concept of encapsulation and information hiding In an object oriented paradigm with the help of an example.
Date: Sep 2, 2019
42 Write a program to find sum of first and last element of an array demonstrating use of new and delete operator.
Date: Sep 2, 2019
43 Write a program to compare two integer numbers and two single character using function overloading.
Date: Sep 2, 2019
44 Write an oop to create a class named “Time” with data objects and two member functions to add two member functions to add two times and display the resultant time.
Date: Sep 2, 2019
45 Write a program to define a class “string” using constructor initialize two string objects with given strings and write necessary functions to concatenate and display the strings.
Date: Sep 2, 2019

Tools/Apps





© Nepal Exchange Rates