第五章 函数 ---内联函数

news/2024/6/29 12:13:58 标签: fun, 编译器, c
cle class="baidu_pl">
cle_content" class="article_content clearfix">
content_views" class="htmledit_views">

color:#FF0000">一。为什么要发明内联函数??


使用函数可以使程序更易读࿰c;易于维护࿰c;

但是调用函数࿰c;࿰c;会造成额外的开销(即---将参数和cpu寄存器压入栈中)࿰c;以及在函数切换控制所花费的时间。


C++提供了内敛函数࿰c;这样可以避免函数调用额外的开销࿰c;


color:#CC0000">二。内联函数是怎样实现功能的??


内敛函数是不会被调用的࿰c;实际上class="tags" href="/tags/BianYiQi.html" title=编译器>编译器将其代码复制到了每个调用点珊瑚。


如:

#include <iostream>
using namespace std;
color:#CC0000">
inline
void class="tags" href="/tags/FUN.html" title=fun>fun(int month ,int year)
{
    cout<<"month is "<<month<<endl;
    cout<<"year is "<<year<<endl;
    
}
void main()
{
    int month  =  10 ;
    int year = 2008;
    class="tags" href="/tags/FUN.html" title=fun>fun(month,year);
}


三。color:#CC0000">什么时候用内联函数比较好??


:内联函数对于短函数而言是值得使用的。但对于长函数则不太适用࿰c;因为会急剧增加代码的长度。


四。可以在头文件中声明内联函数么 ??


cle>

http://www.niftyadmin.cn/n/567088.html

相关文章

iOS开发底层之Runtime、Objc_msgSend探究 - 08

文章目录前言Cache_t的内容补充一、runtime是什么&#xff1f;二、runtime调用的三种方式2.1. 编译时&#xff0c;c源码三、Objc_msgSend 汇编探索四、Class中protocol底层补充。本篇小结前言 底层探索的内容回顾 iOS的底层 -对象分析alloc 分析的方式&#xff0c;通过 x/4gx&…

请问头文件(.h)中可以进行函数定义吗?

请问头文件(.h)中可以进行函数定义吗&#xff1f; 答案&#xff1a;可以是可以&#xff0c;但是有个条件&#xff0c;此头文件只能被一个源文件包含。&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xf…

iOS开发底层之Runtime、Objc_msgSend探究下 - 09

文章目录一、上篇文章补充1.GetClassFromIsa_p16 宏解读二、CacheLookup探索三、lookUpImpOrForward 探索1 lookUpImpOrForward 慢速查找实现2 总结下lookUpImpOrForward方法主要做了什么&#xff1a;一、上篇文章补充 1.GetClassFromIsa_p16 宏解读 上篇文章&#xff0c;没有…

C/C++常用头文件及函数汇总

C/C头文件一览 C #include <assert.h>    //设定插入点 #include <ctype.h>     //字符处理 #include <errno.h>     //定义错误码 #include <float.h>     //浮点数处理 #include <iso646.h> //对应各种运算符的宏 #i…

c++模板类/模板函数的声明与定义应该放在头文件里

c模板类/模板函数的声明与定义应该放在头文件里&#xff0c;不要分开来写类中函数的声明与定义&#xff08;比如在.H文件里声明某个成员函数&#xff0c;在.CPP文件里定义该成员函数&#xff09;&#xff0c;这样会导致连接错误。所应该将模板类/模板函数的定义与声明写在一个.…

iOS开发底层之方法的慢速查找流程探索+方法动态决议上 - 10

文章目录一、二分查找算法1.仿苹果底层二分查找算法2. 通过案例玩下这个算法二、慢速查找流程图1.总结下慢速查找的主要过程2.imp没有找到&#xff0c; 动态方法决议流程3. 动态方法决议运用及总结一、二分查找算法 上篇文章中提到过&#xff0c;苹果底层在查找方法的时候用到…

C++:计算一个整数的数字之和

算法&#xff1a;可以使用%提取整数中的数字&#xff0c;用/将提取出的数字从整数中去掉。 、比如&#xff0c;234%10 4&#xff0c;即可提取4&#xff0c;而用234/10则可以剔除4. 用一个循环&#xff0c;反复提取并剔除数字&#xff0c;直至整数中所有数字都处理完毕#includ…

iOS开发底层之消息的快速与慢速转发 - 11

文章目录一、instrumentObjcMessageSends 系统日志探索1. 它是什么&#xff1f;2. 它的由来&#xff1f;3. 日志位置4. 代码使用二、消息转发流程imp查询流程总结1.动态方法决议后续转发流程2. forwardingTargetForSelector 快速转发流程3. methodSignatureForSelector慢速转发…