Академический Документы
Профессиональный Документы
Культура Документы
Author: Sripriya R Published on: 25th Sep 2007 | Last Updated on: 25th Jul 2011
In this C++ tutorial , you will learn about the Inline function, what is an inline function, reason
for the need of inline functions, what happens when an inline function is written, general format
of inline function explained with example.
Inline functions are functions where the call is made to inline functions. The actual code then
gets placed in the calling program.
Normally, a function call transfers the control from the calling program to the function and after
the execution of the program returns the control back to the calling program after the function
call. These concepts of function save program space and memory space and are used because the
function is stored only in one place and is only executed when it is called. This execution may be
time consuming since the registers and other processes must be saved before the function gets
called.
The extra time needed and the process of saving is valid for larger functions. If the function is
short, the programmer may wish to place the code of the function in the calling program in
order for it to be executed. This type of function is best handled by the inline function. In this
situation, the programmer may be wondering "why not write the short code repeatedly inside the
program wherever needed instead of going for inline function?". Although this could accomplish
the task, the problem lies in the loss of clarity of the program. If the programmer repeats the
same code many times, there will be a loss of clarity in the program. The alternative approach is
to allow inline functions to achieve the same purpose, with the concept of functions.
The inline function takes the format as a normal function but when it is compiled it is compiled
as inline code. The function is placed separately as inline function, thus adding readability to the
source program. When the program is compiled, the code present in function body is replaced in
the place of function call.
Example:
Sample Code
1. #include <iostream>
2. using namespace std;
3. int exforsys(int);
4. void main( )
5. {
6. int x;
7. cout << "n Enter the Input Value: ";
8. cin>>x;
9. cout << "n The Output is: " << exforsys(x);
10. }
11.
12. inline int exforsys(int x1)
13. {
14. return 5*x1;
15. }
Copyright exforsys.com
The output would be the same even when the inline function is written solely as a function. The
concept, however, is different. When the program is compiled, the code present in the inline
function exforsys( ) is replaced in the place of function call in the calling program. The concept
of inline function is used in this example because the function is a small line of code.
The above example, when compiled, would have the structure as follows:
Sample Code
1. #include <iostream>
2. using namespace std;
3. int exforsys(int);
4. void main( )
5. {
6. int x;
7. cout << "n Enter the Input Value: ";
8. cin>>x;
9. cout << "n The Output is: " << exforsys(x); //The exforsys(x) gets
replaced with code return 5*x1;
10.
11. }
12.
13. inline int exforsys(int x1)
14. {
15. return 5*x1;
16. }
When the above program is written as normal function the compiled code would look like below:
Sample Code
1. #include <iostream>
2. using namespace std;
3. int exforsys(int);
4. void main( )
5. {
6. int x;
7. cout << "n Enter the Input Value: ";
8. cin>>x;
9. cout << "n The Output is: " << exforsys(x); //Call is made to the
function exforsys
10. }
11.
12. inline int exforsys(int x1)
13. {
14. return 5*x1;
15. }
A programmer must make wise choices when to use inline functions. Inline functions will save
time and are useful if the function is very small. If the function is large, use of inline functions
must be avoided.