Describe the differences between a call to an inline function member and a function that is not declared inline.. What advantages are there to inline? What disadvantages?
What will be an ideal response?
When a function is invoked, normally the function’s executable code has been placed to the side. The compiler puts a function call in the caller’s executable. The parameter passing mechanisms are set up so control is sent to the function’s code. There is only
one instance of the called function’s code no matter how many objects there are and
no matter how many times the member function is called.
In-line definitions do things differently. The compiler places the body of inline
functions in the execution stream at the place of the call with variable set in accord
with the parameter calling mechanism.. Inlining is done only for small functions. (In
fact, one of my compilers refuses to inline any function with a switch or loop.)
The advantage of inlined functions is that inline functions tend to be faster, at least for
small functions. The non-inline overhead of setting up the parameter passing
mechanism and transferring control is avoided. The disadvantages of inlined
functions are that the code will be larger if the inline function is called many times. The code will be slower for large inline functions than for equivalent non-inlined functions.
You might also like to view...
Write the loop condition to continue a while loop as long as x is negative. ____________________
Fill in the blank(s) with the appropriate word(s).
Which of the following positions the file pointer for a file that has been opened for reading and writing?
a. Use the size() member function on the file stream to position the file pointer. b. Use the seekp(arg) fstream member function with the number of records (counting the first record as 0) as argument to position the file pointer. c. Use the seekp(arg) fstream member function with the number of bytes to the record in question (counting the first byte as 0) as argument to position the file pointer. d. Use the sizeof operator to determine the number of bytes in the file stream.