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

栾川网站建设高清免费爱做网站

栾川网站建设,高清免费爱做网站,托管代运营,光明网站开发引用 概念 引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空 间,它和它引用的变量共用同一块内存空间 类型& 引用变量名(对象名) 引用实体; 注意:引用类型必须和引用实体是…

 引用

概念


引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空
间,它和它引用的变量共用同一块内存空间

类型& 引用变量名(对象名) = 引用实体;
注意:引用类型必须和引用实体是同种类型的


引用特性

  • 1. 引用在定义时必须初始化
  • 2. 一个变量可以有多个引用
  • 3. 引用一旦引用一个实体,再不能引用其他实体

使用场景1——引用作参数

void Swap(int& left, int& right)
{int tmp = left;left = right;right = tmp;
}

相比之前的写法简洁了不少,省去了解引用的操作,看上去也更加直观了

使用场景2——引用作返回值

int& Count()
{
static int n = 0;
n++;
// ...
return n;
}


注意:只有 返回的数据为函数调用后不被销毁的数据的时候,引用作返回值才是正确有效的,否则引用会指向被回收的空间,也就是存在越界的风险

这段代码大家看看结果是多少,看看是否真的了解了引用int& Add(int a, int b)
{
int c = a + b;
return c;
}
int main()
{
int& ret = Add(1, 2);
Add(3, 4);
cout << "Add(1, 2) is :"<< ret <<endl;
return 0;
}

引用的底层实现其实还是指针,相比 传值作为返回值,返回引用的效率肯定是更高的

引用的权限放大,缩小和平移

就像日常生活中只能管理下属,不能整治领导一样 

内联函数

在c语言中,如果代码短且重复使用,我们往往采用宏定义的方法来定义函数,可以提高运行效率

但是宏定义有两大缺点无法避免

  • 1.编译阶段进行替换的时候,如果没有加上适当的括号很容易出错
  • 2.无法进行调试

针对以上情况c++提出了内联函数

 

  • 1. inline是一种以空间换时间的做法,如果编译器将函数当成内联函数处理,在编译阶段,会用函数体替换函数调用,缺陷:可能会使目标文件变大,优势:少了调用开销,提高程序运行效率。
  • 2. inline对于编译器而言只是一个建议,不同编译器关于inline实现机制可能不同,一般建议:将函数规模较小(即函数不是很长,具体没有准确的说法,取决于编译器内部实现)、不是递归、且频繁调用的函数采用inline修饰,否则编译器会忽略inline特性
  • 3. inline不建议声明和定义分离,分离会导致链接错误。因为inline被展开,就没有函数地址了,链接就会找不到。

由上面可得写成内联函数后就会展开,减少栈帧的调用

所以当函数代码少被频繁调用的时候,我们就可以写成内联函数

总结

至此,c++的入门基础知识就了解的差不多了,当然这还不算入门,这些基础知识只是为了后续让我们更好地学习类和对象

只有当类和对象学得七七八八了,c++这门语言我们才算正式入门了,大家一起努力吧!

最后也希望大家多多点赞支持,我也会继续更新的!!!

http://www.yayakq.cn/news/408758/

相关文章:

  • 电白网站建设公司鞋行业的网站建设
  • 用python做网站的步骤wordpress本地网站怎么访问
  • 企业网站seo参考文献wordpress怎么用
  • 中国品牌网站汕头网站推广排名
  • 织梦网站建设phpcms学校网站模板
  • 苏州市城乡建设局网站建设厅网站如何查询企业信息网
  • 深圳做h5网站公司云服务器使用教程
  • 小型企业网站建设旅游景点网论文微信公众平台2次开发
  • 做外贸在那些网站找业务茂名网站制作
  • 公司网站维护更新流程wordpress更换编辑器
  • 怎么做查询数据输入的网站知末网室内设计效果图
  • 个人网站备案取消建筑网校排行榜
  • 网站建设需求分析怎么写html5开发手机网站
  • 代做毕设自己专门网站phpnow搭建本地网站
  • 做餐饮系统网站建设做外贸没有企业网站
  • 襄阳网站建设xtehus网站搭建规划模板
  • 使用arcgis进行网站开发自己怎么开网站
  • 一些房产网站是怎么做的wordpress大小
  • 做任务佣金网站源码长尾关键词什么意思
  • 技术先进的网站建设公司镇江教育云平台网站建设
  • 陶瓷网站策划书好的买手表网站
  • 咋么做网站网站开发项目付款方式
  • 北仑网站推广一般用网站服务器
  • 如何建立新的企业网站河南网站设计价格
  • 新闻型网站建设网站建设产品需求文档
  • 网站页面建议长春哪家网站做的好
  • 芜湖网站建设whwzjsapp手机软件开发
  • 重庆报考网北京网站建设乐云seo
  • 网站整合discuz论坛网站关键词优化的步骤
  • 预约网站制作云开发网站