+91 90691 39140 | +1 253 214 3115 | info@hub4tech.com | hub4tech

C++ Inline Function Interview Questions and Answers

1
What is the difference between inline functions and macros?

A macro is a fragment of code which has been given a name. Whenever the name is used, it is replaced by the contents of the macro. There are two kinds of macros: Object-like macros and function-like macros.
Inline function is a function that is expanded in line when the function is called. That is the compiler replaces the function call with the function code (similar to macros).
The disadvantage of using macros is that the usual error checking does not occur during compilation.

2
Explain advantages and disadvantages of using macro and inline functions?

A textual substitution is provided by a macro as a constant, where as an inline function is procedure which is called at each time. Although the macros have few advantages over inline functions, the disadvantages are numerous. For example, a macro can not perform type checking and validation, as these operations are performed in a function at the most.

Everyone should decide for themselves to use them, but the use of inline functions over macros is advocated by Bjarne Struoustrup, the creator of C++. The imperative features of inline functions are frequently used with classes in C++. There is similarity between invoking normal functions and inline functions, except that, inline functions are never actually called. The inline functions, as their name suggests, are expanded in line at every time of invocation. All that is needed to invoke an inline function is to prefix the key word ‘inline’ to the function.

3
What happens when recursion functions are declared inline?

The call to the body of the function is replaced by an inline function. This reduces the saving context on stack overhead. This process is efficient when the size of the function is small and invoked occasionally. Deep nesting of a method is done when a function is invoked recursively. The inline function is invoked recursively, and every call to itself is replaced with the body of the function, thus consumes a lot of code space.

4
described when recursion functions are declared inline?

The call to the body of the function is replaced by an inline function. This reduces the saving context on stack overhead. This process is efficient when the size of the function is small and invoked occasionally. Deep nesting of a method is done when a function is invoked recursively. The inline function is invoked recursively, and every call to itself is replaced with the body of the function, thus consumes a lot of code space.

5
What are static member functions?

A static function can have an access to only other static members (functions or variables) declared in the same class.
A static member function can be called using the class name instead of its objects.
E.g. classname :: functionname;

Copyright ©2015 Hub4Tech.com, All Rights Reserved. Hub4Tech™ is registered trademark of Hub4tech Portal Services Pvt. Ltd.
All trademarks and logos appearing on this website are the property of their respective owners.
FOLLOW US