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

  • Home
  • SEARCH
  • 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 171429
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T12:59:11+00:00 2026-05-11T12:59:11+00:00

I got this question when I received a code review comment saying virtual functions

  • 0

I got this question when I received a code review comment saying virtual functions need not be inline.

I thought inline virtual functions could come in handy in scenarios where functions are called on objects directly. But the counter-argument came to my mind is — why would one want to define virtual and then use objects to call methods?

Is it best not to use inline virtual functions, since they’re almost never expanded anyway?

Code snippet I used for analysis:

class Temp { public:      virtual ~Temp()     {     }     virtual void myVirtualFunction() const     {         cout<<'Temp::myVirtualFunction'<<endl;     }  };  class TempDerived : public Temp { public:      void myVirtualFunction() const     {         cout<<'TempDerived::myVirtualFunction'<<endl;     }  };  int main(void)  {     TempDerived aDerivedObj;     //Compiler thinks it's safe to expand the virtual functions     aDerivedObj.myVirtualFunction();      //type of object Temp points to is always known;     //does compiler still expand virtual functions?     //I doubt compiler would be this much intelligent!     Temp* pTemp = &aDerivedObj;     pTemp->myVirtualFunction();      return 0; } 
  • 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. 2026-05-11T12:59:11+00:00Added an answer on May 11, 2026 at 12:59 pm

    Virtual functions can be inlined sometimes. An excerpt from the excellent C++ faq:

    ‘The only time an inline virtual call can be inlined is when the compiler knows the ‘exact class’ of the object which is the target of the virtual function call. This can happen only when the compiler has an actual object rather than a pointer or reference to an object. I.e., either with a local object, a global/static object, or a fully contained object inside a composite.’

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

Sidebar

Ask A Question

Stats

  • Questions 197k
  • Answers 197k
  • 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 Have the birthdate parameter be a nullable DateTime, i.e., DateTime?,… May 12, 2026 at 7:23 pm
  • Editorial Team
    Editorial Team added an answer According to this, you are supposed to use the 64… May 12, 2026 at 7:23 pm
  • Editorial Team
    Editorial Team added an answer Ah got it, finally by moving the winhttp include into… May 12, 2026 at 7:23 pm

Related Questions

The backgound: I am trying to forward the server-side ApplyChangeFailed event that is fired
I recently had this issue with a client. The code read: ini_set( sendmail_from, noreply@<current-domain>.com
I have a little app that downloads stock prices and was working perfectly (for
Please can someone help sort a noob out? I've posted this problem on various

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.