Inline Function In C++

Sdílet
Vložit
  • čas přidán 29. 08. 2024

Komentáře • 53

  • @treyquattro
    @treyquattro Před 5 lety +21

    the key point here is that in modern C++ *inline* is just a hint to the compiler to emit inline code and elide the call/return overhead of a standard procedure call. In the "old" days - over 20 years ago - when the compiler and processors were simpler, and the programmer knew more than the compiler(!) *inline* was a direction, not a hint. Now, with fiercely efficient optimization phases and insanely complicated processors with (as you pointed out) multiple levels of instruction and data cache, instruction pipelining and branch prediction, it's no longer possible to out-do the compiler and processor by imagining that high-level language constructs directly equate to certain instructions at the processor level. It can be even more confusing on non-Intel architectures like register-based RISC processors. Bottom line: C++ always tries to generate the most efficient code on any platform, short of hand-coded assembler which isn't even really possible anymore in the modern era, and would take ten times longer to write even if you tried.

    • @CppNuts
      @CppNuts  Před 5 lety +2

      Thanks for writing detailed comment on the topic, it will help so many people. Great!!

  • @pussiestroker
    @pussiestroker Před 4 lety +6

    sir, thank you for going through actual example clearly explaining how it improves locality of referencs

  • @suryanshdey4773
    @suryanshdey4773 Před rokem

    Best depth explaination for real programmers. Who is interested in how my code is excuting and need performance. Obviously if someone is coding in C++, performance really matter to his project

  • @baba-ti2gb
    @baba-ti2gb Před 5 lety +8

    interviewer asked me about this what is inline function??
    Thanx too u so that i was able to give answer. (Keep posting interview questions for experienced)

    • @CppNuts
      @CppNuts  Před 5 lety +3

      Sure man!!
      Happy learning..

  • @shashikantchauhan8777

    we love you and its 2023 ..keep posting

  • @mockingbird3809
    @mockingbird3809 Před 4 lety +3

    I was looking for a really deep explanation. This is exactly what I was looking for. Thank you so much! I would really appreciate deep explanation of concepts like this one :-)

    • @CppNuts
      @CppNuts  Před 4 lety +1

      Glad it was helpful!

  • @pratimpal2679
    @pratimpal2679 Před 6 lety +5

    Amazing video. Detail explanation of every point about inline function. You left no question to ask but I'm going ask one ;)
    What project you are working on which takes 20 to 30 minutes to compile on a server ?

    • @CppNuts
      @CppNuts  Před 6 lety +8

      Thanks for you interest dude.
      We are developing EDA Tool for FPGA's. This is like building compiler but not c/c++ compiler. It takes verilog code files as input(verilog is used to create circuit using programs) and then this tool compile the verilog code and create a virtual circuit. Then we insert that virtual circuit inside FPGA and then it starts acting like a real circuit.
      I hope you will understand this comment. Actually this is Electronics side and if you are from CS background you may find it hard to understand it. Let me know if you understood :)

  • @formovies7997
    @formovies7997 Před 4 lety +1

    your work is fantastic...thanks for such a nice playlist...

  • @mrx-qi8th
    @mrx-qi8th Před 3 lety +1

    nice video,11:30 i got the idea and i hit like but and just subscribed. keep on making awsome videos

  • @scutursula7536
    @scutursula7536 Před 5 lety +1

    A very good explanation. Thank you man.

  • @janamthapa7249
    @janamthapa7249 Před rokem

    Awesome lecture
    But can we can't use loop under inline function right??

  • @ramilachoudhary418
    @ramilachoudhary418 Před 5 lety +1

    Ek number 👌👌👌.... You got a new subscriber..

  • @AyushSingh-lo4qo
    @AyushSingh-lo4qo Před 3 lety

    You are a great teacher.

  • @shirishashetty3967
    @shirishashetty3967 Před 3 lety

    Yeah ...absolutely perfect explanation

  • @yograjmandloi9020
    @yograjmandloi9020 Před 5 lety +2

    I feel enlightened.

    • @CppNuts
      @CppNuts  Před 5 lety

      Thanks for the comment!!

  • @avinash1347
    @avinash1347 Před 4 lety +1

    Amazing explanation bro.

  • @zc7504
    @zc7504 Před 2 lety

    thank you so much bro nicely explained!

  • @vivekvaibhavraj3060
    @vivekvaibhavraj3060 Před 2 lety

    Nice explanation.

  • @saitheja8080
    @saitheja8080 Před 7 měsíci

    Very thank you for the OS explanation. I am not able to “Join” in your youtube channel, are memberships still there buddy ?
    Let me know, if you are running on any other platform. Thanks.

    • @CppNuts
      @CppNuts  Před 7 měsíci +1

      No I don't run any memberships program now, it's just the donation box, so for example, someone get selected in some interview or really happy with my teaching and they are capable then can donate.

  • @Vineeth_Shankar
    @Vineeth_Shankar Před 3 lety

    What is the use of static inline ?
    Is it preferred over macros? If yes, why?

  • @yabastacode7719
    @yabastacode7719 Před 6 lety +2

    Thank you

  • @jotirlingswami9357
    @jotirlingswami9357 Před 5 lety +1

    linine means replacing the function call with the function body: So compiler take care of the passing argument means assembly code manages that inside??

    • @CppNuts
      @CppNuts  Před 5 lety +1

      its not assembly code, its the compiler which changes the code means take care of passing the argument, and then what ever the code is changed by compiler that code is further converted into assembly code and everything goes after that.

    • @satishsuman3346
      @satishsuman3346 Před 4 lety +1

      inline function does not have arguments,as there is no more function call happening,whereever formal arguments are used will be replaced by actual args.
      example
      inline void add(int x)
      printf("%d",x);
      int main(){
      int x=10
      add(x);
      }
      will become
      int main(){
      int x=10;
      printf("%d",x) ;
      }

  • @pussiestroker
    @pussiestroker Před 4 lety

    sir, someone on stackoverflow mentioned that thd misuse of inline functions may suffer slowdowns. can you explain how?

  • @sumitsuman641
    @sumitsuman641 Před 2 lety

    Hi.. inline is also present in C, but you are saying it’s only present in Cpp. Please explain

  • @shilpaaggarwal5008
    @shilpaaggarwal5008 Před 2 lety

    have you covered any topics on C++17. if yes, please provide the link.Thanks.

  • @ashutoshmore2546
    @ashutoshmore2546 Před 6 lety +1

    super ..!!

  • @Jam-jf2nu
    @Jam-jf2nu Před 5 lety

    Where is the value of string?

    • @scutursula7536
      @scutursula7536 Před 5 lety

      The value of string is in function call , "Hi CppNuts"

  • @rumanshunath4688
    @rumanshunath4688 Před 3 lety

    Boring lecture.

  • @bulentgercek
    @bulentgercek Před 3 lety

    Nice effort but stop saying "OK?" after every 2 sentence. It keeps breaking the process of learning and its annoying.