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

张家口建站优化vi企业设计

张家口建站优化,vi企业设计,怎样做酒店网站ppt模板,物流公司在哪做网站函数回顾与后置返回类型 函数定义中如果有形参则形参应该有名字#xff0c;而不光是只有类型#xff0c;但是如果并不想使用这个形参#xff0c;换句话说这个形参并不在这个函数中使用#xff0c;则不给形参名也可以#xff0c;但在调用这个函数的时候#xff0c;该位置…函数回顾与后置返回类型 函数定义中如果有形参则形参应该有名字而不光是只有类型但是如果并不想使用这个形参换句话说这个形参并不在这个函数中使用则不给形参名也可以但在调用这个函数的时候该位置的实参是必须要明确给出的。 看看如下范例函数定义中的第二个形参只给出了类型并没有给出名字 但是在进行函数声明的时候是可以没有形参名的。虽然写形参名会帮助自己和其他读代码的人更好地理解代码但是编译器会忽略形参名。看如下函数声明的代码 上面这种写法叫作“前置返回类型”也就是说函数的返回类型位于函数声明或者函数定义语句的开头。 在C11中还引入了一种新的语法叫后置返回类型也就是在函数声明或定义中把返回类型写在参数列表之后对于有一些返回类型比较复杂的情形这种写法可能更容易让人看懂同时有一些比较特殊的场合还必须采用这种语法来书写后面会讲解到。请读者先知道有这样的写法即可当前不需要深究其他。看看如下范例 auto func(int,int) - int; //函数声明中的后置返回类型写法 auto func(int a,int b) - int //函数定义中的后置返回类型写法 {return 1; }总结一下“后置返回类型”的写法前面放置auto关键字表示函数返回类型放到参数列表之后而放在参数列表之后的返回类型是通过“-”开始的。此外补充一点函数书写时的说明一个函数内包含的代码不要太长不同的功能尽量分解到多个函数中去写一般一个函数内函数体建议包含几十到上百行代码尽量不要书写上千行代码函数体太过冗长也增加了他人阅读这段代码的理解难度和时间。 inline内联函数 先看一个范例 inline int myfunc(int testv) //函数定义这里必须加inline {return testv * (5 4) * testv; }注意上面这段代码在该函数定义之前增加了一个inline关键字增加了这个关键字的函数叫作内联函数。那么inline有什么作用呢 每个人都知道调用函数是要消耗系统资源的尤其是一些函数体很小但却频繁调用的函数调用起来很不划算因为要频繁地进行压栈、出栈动作以处理函数调用和返回的问题这也意味着要频繁地为它们开辟内存。为了解决这种函数体很小、调用又很频繁的函数所耗费的系统性能问题引入了inline关键字。该关键字的效果如下 1影响编译器在编译阶段完成对inline函数的处理系统尝试将调用该函数的动作替换为函数的本体不再进行函数调用。通过这种方式来提升程序执行性能。 2inline关键字只是程序员开发者对编译器的一个建议编译器可以尝试去做也可以不去做这取决于编译器的诊断功能也就是说决定权在编译器无法人为去控制。 3传统书写函数时一般将函数声明放在一个头文件中将函数定义放在一个.cpp源文件中如果要把函数定义放在头文件中那么超过1个.cpp源文件要包含这个头文件系统会报错但是内联函数恰恰相反内联函数的定义就放在头文件中这样需要用到这个内联函数的.cpp源文件都能通过#include来包含这个内联函数的源代码以便找到这个函数的本体源代码并尝试将对该函数的调用替换为函数体内的语句。 那么使用内联函数的优缺点是什么呢 用函数本体取代函数调用显然可以增加效率。但同时带来的问题是函数代码膨胀了。所以内联函数函数体要尽可能短小这样引入inline才有意义。请读者想一想调用一个函数时需要压栈开辟内存等动作假如这些动作需要花费1s的时间如果在这个函数中代码的执行需要花费1000s的时间那这个函数写成内联函数之后也就节省了1s的时间但是源文件代码却膨胀的很大。如果在多个地方调用这个函数那就相当于多个地方出现代码的重复膨胀代码在程序运行时也是要占用内存的因为内存中有代码段专门保存程序代码。 请注意 1编译器不同可能内联的结果也不同有些编译器很聪明优化好了只剩下一个结果有些编译器差了一点优化成一些表达式再差一点的编译器就真变成直接把函数体中的语句拿来替换到函数调用处了。 2inline函数尽量简单代码尽量少尤其是各种复杂的循环、分支、递归调用等尽量少出现在内联函数中否则编译器可能会因为这些代码的原因拒绝让这个函数成为内联函数。 3前面讲解constexpr函数时回忆一下给函数加constexpr的目的就是因为要将该函数用在常量表达式中。当时曾经说过这种constexpr函数函数体必须要写的特别简单如果写了某些多余的语句那么编译就会出错所以可以把constexpr函数看成是更严格的一种内联函数因为constexpr自带inline属性。 4内联函数有点像宏展开#define宏展开和内联函数有各种差别如类型检查等。
http://www.sczhlp.com/news/202440/

相关文章:

  • 装修公司做自己网站代理商平台
  • 银行门户网站建设方案高清摄影作品网站
  • 建各公司网站要多少钱网络搭建与维护
  • 荣欣建设集团有限公司网站成都网站建设优化推广
  • 国外的电商网站有哪些方面盐亭县建设局网站
  • 吸引人的网站类型桂林网站优化
  • 网站建设与制作教案手机网站开发下载
  • 合肥网站网页设计qq官网登录入口电脑版
  • 做企业网站怎么样wordpress 主题 三栏
  • 专业制作网站是什么ps网页设计怎么做
  • 合肥建设网站哪个好简单网站建设方案
  • 广州建站模板自己怎么建个网站赚钱吗
  • 上海网站seo排名建设一个门户网站价格
  • 广州企业网站建设成都网约车平台公司哪家好
  • 如何增加网站访问量什么叫动漫设计与制作
  • 访问国外网站用什么dns赣州管理中心网站
  • 苏州营销型网站推广赣州建设局网站
  • 做网站有前途WordPress Core 5.0
  • 企业网站设计规范沈阳做企业网站的
  • 网站建设业务员论坛WordPress发展史
  • 现如今网站开发用什么框架8848网站盈利模式
  • 门户网站开发过程视频设计做网站哪家公司好
  • 网站电子报怎么做网站设计教程视频下载
  • 免费域名注册网站有哪些wordpress ip 域名
  • 河南省新闻出版局从化网站建设优化
  • 微信社群机器人开发
  • 微信机器人开发
  • 怎么做网站报告做暧暧前戏视频网站
  • 自己制作网站的软件wordpress首页主标题移到后面
  • 沙坪坝网站建设哪家好成都网站怎么推广