FAQ: Functions: Scope & Flexibility - How to Get Your Functions Inline

This community-built FAQ covers the “How to Get Your Functions Inline” exercise from the lesson “Functions: Scope & Flexibility”.

Paths and Courses
This exercise can be found in the following Codecademy content:

Learn C++

FAQs on the exercise How to Get Your Functions Inline

There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply (reply) below.

If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.

Join the Discussion. Help a fellow learner on their journey.

Ask or answer a question about this exercise by clicking reply (reply) below!
You can also find further discussion and get answers to your questions over in #get-help.

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources? Head to #get-help and #community:tips-and-resources. If you are wanting feedback or inspiration for a project, check out #project.

Looking for motivation to keep learning? Join our wider discussions in #community

Learn more about how to use this guide.

Found a bug? Report it online, or post in #community:Codecademy-Bug-Reporting

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

Is there an explanation anywhere about why with the inline keyword the execution was slower?
Here are the times
0.02295 //without inline
0.024281 //with inline


Same here. There was no real difference upon adding the inline keyword.

Mine didn’t work at all. Codecademy showed that I completed the exercise and I was able to click the next button (to move on) but with inline nothing happened! Does anyone know why?



Same problem as anaya99 has. It shows that I completed the exercise and I am able to click the next button but nothing happens.

1 Like

Go back to main.cpp and hit run again


I got 0.02786 ms without inline, and 0.024231 ms with inline. Unlike what earlier posters got, my code actually ran faster.

What is supposed to be the reason behind why using inline functions can either increase or decrease runtime? What is the speeding up or slowing down dependent upon?

1 Like

There’s always minor differences in the times for either version (with or without inline), for me at least.
Kinda defeats the purpose of the exercise, but the idea is that sometimes using inline will make things faster and sometimes make things slower. I don’t know why as of know (there’s probably a ton of info out there on it) but for code this short and simple it doesn’t make a discernible difference. One we start making more complex stuff there will likely be a difference.

1 Like

thanks dude! :slight_smile:

I found a bit of confusion with this line here:

“Using inline advises the compiler to insert the function’s body where the function call is…”

Since we’re putting inline in the .hpp file, aren’t we supposed to say that inline advises the compiler to insert the function’s body where the function declaration is?

Or is that line still correct as those header contents are essentially inserted above main() function within the .cpp file. So technically it’s still correct that it’s within the file where the function is called?

1 Like

same thing happened to ma at first. I think it was my adblock, ublock origin blocking the inline. I turned it of and reloaded and it worked.

Hi Everyone. I am having trouble understanding how inline functions work! I searched elsewhere and one site says “C++ provides an inline functions to reduce the function call overhead”, which is the switch between when a function executes and when the CPU returns the function. However, could anyone please explain inline functions clearly? Thank you.

Here is an explanation I found useful.
In particular, have a look at the example of the min function both without inline and with inline.


Before hitting [RUN] after editing the .hpp file, switch back over to your main.cpp and then hit [RUN]. Should show your runtime now in the console

1 Like

Is not useful for small app , it will be maybe for big implementations .

‘Overhead’ refers to the amount of time it takes to set up an operation. Consider these two examples:

#include <iostream>

int main() {
  std::cout << "Hello, World!" << std::endl;
#include <iostream>

void hello_world() {
  std::cout << "Hello, World!" << std::endl;

int main() {

The second program will run slightly slower because it takes a bit of time to call the function and then print out the string, while the first program just needs to print the string

What the inline keyword does is instructs the compiler to replace the function call in the executable with the actual code of the function. In the second example above, the main() function would have hello_world() replaced with std::cout << "Hello, World!" << std::endl; in the executable (not the actual code file, the source code stays identical)

See here for more info such as pros, cons and when to use