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


16 Default arguments in C++
Date: Sep 2, 2018
17 Friend Function, Friend class
Date: Sep 4, 2018
18 What are friend functions ? Is it possible for a function to be friend of two classes ? If yes then how is it implemented in C++. Explain with suitable example. ---PU-2016 (New Course)
Date: Sep 10, 2018
19 Write an OOP to add two complex numbers using passing objects as arguments. ---PU_2015
Date: Sep 10, 2018
20 Write a Program to add two complex numbers using friend function. ----PU_2015
Date: Sep 10, 2018
21 What are constructors and destructors ? Write a Object Oriented Program to display Fibonacci series (Use constructor for initialization) ----PU-2014
Date: Sep 15, 2018
22 Write a OOP to create a class named "Time" with data members 'hour' and 'minute' a constructor to initialize............. ---PU-2011
Date: Sep 15, 2018
23 What is "this" pointer ? Illustrate with example.
Date: Sep 15, 2018
24 Write a program to create class “Counter” having integer data member, overload the post increment, post decrement, pre increment and pre decrement for the class “Counter”.
Date: Sep 15, 2018
25 Write a Program to overload the unary minus operator using friend function.
Date: Sep 15, 2018
26 Write a OOP to overload "==" operator to determine the equality of two fractional numbers (fractional numbers must be in terms of numerator and denominator)
Date: Sep 15, 2018
27 Write a program to create classes “Dollar” and “Rupee”. Write conversion routine to convert dollar to rupee (1 dollar = 108 rupees).
Date: Sep 15, 2018
28 Write a Program to convert angle in degree to angle in radian. where, angle in radian = angle in degree * PI/180. Use Conversion routine in source class.
Date: Sep 15, 2018
29 Write a program which asks file name from keyboard, opens a file with that name for output, reads the line from keyboard character by character and writes the line onto the file.
Date: Sep 22, 2018
30 WAP to to read the text from the file named "hello.txt" to the file name called "test.txt".
Date: Sep 22, 2018

Tools/Apps





© Nepal Exchange Rates