当前位置: 首页 > news >正文

网站上怎样做轮播图百度搜索指数是怎么计算的

网站上怎样做轮播图,百度搜索指数是怎么计算的,钙网logo设计免费,制作好看的wordpress页面C练级之初级:第五篇 第五篇 C练级之初级:第五篇1.auto关键字2.for循环改进3.指针空值nullptr4.内联函数4.1内联函数的概念4.2内联函数的注意点 总结 1.auto关键字 🤔什么是auto(automatic的缩写,自动的意思)关键字? au…

C++练级之初级:第五篇

第五篇

  • C++练级之初级:第五篇
    • 1.auto关键字
    • 2.for循环改进
    • 3.指针空值nullptr
    • 4.内联函数
      • 4.1内联函数的概念
      • 4.2内联函数的注意点
  • 总结

1.auto关键字

🤔什么是auto(automatic的缩写,自动的意思)关键字?

auto是自动推导类型的关键字,在编译阶段,根据表达式右边的表达式自动推导表达式左边的类型;
在这里插入图片描述
在这里插入图片描述
你们可能不相信,为了查看类型,介绍一个 操作符typeid().name()

在这里插入图片描述

🤔🤔auto关键字是解决什么问题呢?

当类型过长时我们就可以用auto关键字,但是其实typedef也是可以的,只是typedef要先知道类型也就是说你要先打一遍这个类型😒;

🤔🤔🤔auto关键字有什么注意点?

  1. auto右边一定要初始化;
    在这里插入图片描述

  2. auto定义多个变量时这些变量类型一定要一致;
    在这里插入图片描述

  3. auto不能推导数组;
    在这里插入图片描述

  4. auto不能做函数参数;

在这里插入图片描述


所以总结一下,一般只有当数据类型过长时,我们用auto,for循环中我们用auto,其他情况下我们很少很少用auto;


2.for循环改进

😁很明显,for循环的改进是解决C语言中for循环的书写问题的;

在这里插入图片描述

🤔🤔刚才不是说auto用在for循环中吗,那么怎么用呢?

在这里插入图片描述

在这里插入图片描述

😁那么这段C++的for循环代码的意思是什么?
代码意思:依次将arr中的元素赋值给e(e是element,元素的意思,你也可以取其它名字),然后一个一个打印;
适用数组与容器;
可以用break,continue等关键字;


🤔🤔🤔如何修改数组元素呢?

用引用类型就可以修改数组了;

在这里插入图片描述

👉但是有一个点要注意👈

在这里插入图片描述

3.指针空值nullptr

🤔C语言不是有空指针NULL了吗?

在这里插入图片描述
按理来说第一个应该是int,第二个应该是int*;

看看NULL的定义

#ifndef NULL
#ifdef __cplusplus
#define NULL 0
#else
#define NULL ((void *)0)
#endif
#endif

可以看到,NULL可能被定义为字面常量0,或者被定义为无类型指针(void*)的常量;
NULL是一个宏,会直接替换,而nullptr是一个关键字,表示空指针的意思;

为了更好的区别空指针和0,所以引入了nullptr关键字


在这里插入图片描述
注意:

  1. 在使用nullptr表示指针空值时,不需要包含头文件,因为nullptr是C++11作为新关键字引入的
  2. 在C++11中,sizeof(nullptr) 与 sizeof((void*)0)所占的字节数相同 。
  3. 为了提高代码的健壮性,在后续表示指针空值时建议最好使用nullptr。

4.内联函数

🤔内联函数是解决C语言什么问题?

在这里插入图片描述
我们从跨过表面看看内部:

在这里插入图片描述
😒我们可以观察出,像这种频繁调用且汇编代码量并不大的函数,每次都要建立函数栈帧,开销太大了😒;


🤔🤔如何高效解决像这种频繁调用的且汇编代码量很少的函数呢?

在以前学习C语言时,我们可以试试用宏去解决

在这里插入图片描述


总结一下宏在这里的优缺点:

  • 优点:不需建立函数栈帧,更高效(替换操作);
  • 缺点:写法太复杂,可读性差,不能调试;

🤔🤔🤔那么有没有更好的解决方案呢?

这就需要介绍内联函数了;

在这里插入图片描述


4.1内联函数的概念

inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数调用建立栈帧的开销,内联函数提升程序运行的效率。


这样看来,内联函数,既不需要建立函数栈帧,不复杂,可读性好,可以调试,高效,是对宏的优化,也是对频繁调用的且汇编代码不多的函数的一种优化;

在这里插入图片描述

🤔🤔🤔🤔既然内联函数这么好,那我们能不能在每个函数钱都加上inline呢?

4.2内联函数的注意点

  1. 注意:
    内联函数是适用于频繁调用的且汇编代码不多的函数
  2. inline对于编译器而言只是一个建议,最终的结果由编译器定,一般频繁调用且汇编代码量很少的函数编译器采用inline,对于递归或者代码量很大的情况下编译器不采用递归。

🤔🤔🤔为什么我的代码量便很少编译器却没有采用内联函数呢?

在这里插入图片描述

因为在默认的debug版本下,inline不会起作用,否则不方便调试,所以需要以下设置:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


  1. . inline不建议声明和定义分离,分离会导致链接错误。

在这里插入图片描述

在这里插入图片描述

因为inline函数是在编译时直接展开,没有地址,所以在链接时找不到声明所对应的定义,故报链接型错误;

在这里插入图片描述

总结内联函数

  • 被inline修饰的函数叫做内联函数;
  • 内联函数是适用于频繁调用的且汇编代码不多的函数,解决函数频繁开辟栈帧的开销;
  • inline对于编译器而言只是建议;
  • 内联函数的声明和定义不能分开;

总结

今天主要学习了auto关键字,nullptr关键字,for循环的改进,内联函数是什么及其注意点,如果喜欢本篇不妨留下一个❤️;

请添加图片描述

http://www.hkea.cn/news/484147/

相关文章:

  • 青海西宁网站建设公司百度网络推广
  • 服装公司网站设计百度站长收录入口
  • 做搜索关键词任务网站网站维护是什么意思
  • 2018什么做网站百度网盘网页版入口
  • 深圳福田大型商城网站建设石家庄最新疫情最新消息
  • 网站版面结构chatgpt 网站
  • 网站后期推广是谁来做广州百度推广开户
  • 不上此网站枉做男人免费制作网站平台
  • 防红短链接生成佛山抖音seo
  • 网站建设php带数据库模板站长工具四叶草
  • 做网站客户拖着不验收店铺推广渠道有哪些方式
  • 站群系统哪个好用怎样进行seo推广
  • 淄博网站建设方案网络推广是做什么的
  • 网站建设销售工作职责seo平台怎么样
  • 免费的网站给一个百度seo优化服务项目
  • 现代广告创意设计郑州百度网站优化排名
  • 兰州网站建设哪家专业谷歌seo网站推广
  • 崇信门户网站留言回复上优化seo
  • 网站建设费用有哪些站长工具搜索
  • 云主机能干什么独立站seo怎么做
  • 苏州专业网站建设设计公司免费发布推广信息的b2b
  • 空间 两个网站网络推广培训班
  • 零基础学做网站推广公司简介
  • 公司做网站最好引擎搜索器
  • 济南手工网站建设北京百度seo服务
  • 网站建设原创百度seo官网
  • 徐州企业网站建设衡阳seo服务
  • 网站自然排名优化seo专员是什么职业
  • 视频网站制作广告代理公司
  • wordpress主题域名授权密钥生成镇海seo关键词优化费用