WalzoneInterview Prep
📞 Interviewing soon? Practice with a realistic AI mock phone interview — it calls you, then scores you. First 15 min FREE →

C++ · Intermediate · question 28 of 100

What are inline functions, and when would you use them in C++?

📕 Buy this interview preparation book: 100 C++ questions & answers — PDF + EPUB for $5

In C++, an inline function is a function that is expanded in-line at the point of call instead of being called like a regular function. This means that the code for the function is inserted directly into the calling code, without the overhead of a function call.

The use of inline functions can lead to faster code execution, since there is no function call overhead, and the code for the function is optimized by the compiler for the specific use case. However, this optimization comes at the cost of increased code size, since the code for the function is duplicated at each point of call.

In C++, you can declare a function as inline using the ’inline’ keyword. Here’s an example:

    #include <iostream>
    using namespace std;
    
    inline int square(int x) { // declare an inline function
        return x * x;
    }
    
    int main() {
        int a = 5;
        int b = square(a); // inline function call
        cout << b << endl;
        return 0;
    }

In this example, we declare an inline function called ’square’ that takes an integer argument and returns its square. We then call the inline function in the main() function to compute the square of an integer, and print the result to the console.

Inline functions are typically used for small, frequently called functions that have little or no branching, and that can be fully evaluated at compile time. Examples include mathematical functions like square, absolute value, and trigonometric functions.

It’s important to note that while the ’inline’ keyword suggests to the compiler that a function should be inlined, the final decision to inline the function is up to the compiler. In some cases, the compiler may choose not to inline the function, even if it’s declared as inline, if it determines that inlining would not lead to a performance improvement.

Reading is step one. Saying it out loud is the interview. Our AI interviewer calls your phone and runs a realistic C++ interview — then scores it.
📞 Practice C++ — free 15 min
📕 Buy this interview preparation book: 100 C++ questions & answers — PDF + EPUB for $5

All 100 C++ questions · All topics