Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 319483
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 12, 20262026-05-12T08:39:56+00:00 2026-05-12T08:39:56+00:00

Inline functions are just a request to compilers that insert the complete body of

  • 0

Inline functions are just a request to compilers that insert the complete body of the inline function in every place in the code where that function is used.

But how the compiler decides whether it should insert it or not? Which algorithm/mechanism it uses to decide?

Thanks,

Naveen

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-12T08:39:56+00:00Added an answer on May 12, 2026 at 8:39 am

    Some common aspects:

    • Compiler option (debug builds usually don’t inline, and most compilers have options to override the inline declaration to try to inline all, or none)
    • suitable calling convention (e.g. varargs functions usually aren’t inlined)
    • suitable for inlining: depends on size of the function, call frequency of the function, gains through inlining, and optimization settings (speed vs. code size). Often, tiny functions have the most benefits, but a huge function may be inlined if it is called just once
    • inline call depth and recursion settings

    The 3rd is probably the core of your question, but that’s really “compiler specific heuristics” – you need to check the compiler docs, but usually they won’t give much guarantees. MSDN has some (limited) information for MSVC.

    Beyond trivialities (e.g. simple getters and very primitive functions), inlining as such isn’t very helpful anymore. The cost of the call instruction has gone down, and branch prediction has greatly improved.

    The great opportunity for inlining is removing code paths that the compiler knows won’t be taken – as an extreme example:

    inline int Foo(bool refresh = false)
    {
       if (refresh)
       {
          // ...extensive code to update m_foo  
       }
       return m_foo;
    }
    

    A good compiler would inline Foo(false), but not Foo(true).

    With Link Time Code Generation, Foo could reside in a .cpp (without a inline declararion), and Foo(false) would still be inlined, so again inline has only marginal effects here.


    To summarize: There are few scenarios where you should attempt to take manual control of inlining by placing (or omitting) inline statements.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 195k
  • Answers 195k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer use display:block on the spans? May 12, 2026 at 7:01 pm
  • Editorial Team
    Editorial Team added an answer Refer to 37signals -- they are experts in this field… May 12, 2026 at 7:01 pm
  • Editorial Team
    Editorial Team added an answer It appears the only way I could do it is… May 12, 2026 at 7:01 pm

Related Questions

I have an Ajax control that is loaded into a Yahoo popup using jQuery.
I have the following: classA::FuncA() { ... code FuncB(); ... code } classA::FuncB(const char
Why are inline closures so rarely used in Actionscript? They are very powerful and
My goal is to have all object files built in a .objs directory instead

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.