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

苏州工业园区网站2345网址大全浏览器

苏州工业园区网站,2345网址大全浏览器,网站seo的重要性,互联网行业发展现状目录 类型分类(了解) 引用折叠 万能引用 完美转发 模版可变参数 包扩展 小知识 类型分类(了解) C11后,进一步对类型进行了划分,右值被划分为纯右值(pure value,简称prvalue&a…

目录

类型分类(了解)

引用折叠

万能引用

完美转发

模版可变参数

包扩展

小知识


类型分类(了解)

C++11后,进一步对类型进行了划分,右值被划分为纯右值(pure value,简称prvalue)和将亡值(expiring value,简称xvalue)

纯右值:指字面值常量或求值结果相当于字面值常量或一个不具名的临时对象。如 42、true、nullptr或函数传值返回的返回值、临时对象或整形a++,a+b等。

将亡值:返回右值引用的函数的调用表达式和转换为右值引用的转换函数的调用表达,如move(x)、static_cast<X&&> (x)

泛左值(generalized value,简称glvalue):包含左值和将亡值。

引用折叠

C++ 中不能直接定义引用的引用,但可以通过模版或typedef中的类型操作构成引用的引用,也就是引用折叠。

规则:1.右值引用的右值引用折叠成右值引用。

2.其它所有组合折叠成左值引用。

补充:1.const变量是左值

2.const左值move之后是const右值

万能引用

 

传左值引用时引用折叠成左值引用,传右值引用时引用折叠成右值引用,所以叫万能引用。

注:带模版的才是万能引用。

void print(T&& tmp)

{}

像这样的只是普通右值引用。

完美转发

上篇文章提过,右值引用表达式依旧是左值。

所以如果要在万能引用的函数体中传参数会有问题,不move传的都是左值,而move之后传的都是右值。

怎么让传到fun1的参数随着tmp的类型变化而变化呢,使用forward(完美转发)

forward可以保持tmp的属性,传过来的T是左值引用,那么forward传的也是左值;如果T是右值,forward传的也是右值。

模版可变参数

C++支持可变数量参数的函数模版和类模版,可变数量的参数被称为参数包。

参数包分为两种:模版参数包(表示0或多个模版参数)、函数参数包(表示0或多个函数参数)

注:可变参数模版的原理和模版类似,本质还是去实例化对应类型和个数的多个函数。

可用sizeof计算参数包中参数个数。

包扩展

两种扩展方式

1.

 2.

小知识

1.SHRT_MIN -32768 //有符号16位整形最小值

2.SHRT_MAX 32767 //有符号16位整形最大值

3.USHRT_MAX 0xffff //无符号16位整形最大值

4.INT_MIN -2147483648  //有符号整形最小值

5.INT_MAX 2147483647  //有符号整形最大值

http://www.dtcms.com/wzjs/385877.html

相关文章:

  • 华梦服饰网站建设中百度推广怎么收费的
  • 石河子网站建设公司宁波seo关键词优化
  • wordpress google字体 360吉林seo关键词
  • 做设计哪个网站图比较实用专业精准网络营销推广
  • 外国人做汉字网站免费推广公司
  • 北京市建设厅网站吉安seo招聘
  • 建设公司网站价格百度网盘app官网
  • 环县网站怎么做徐州百度推广公司
  • 手机网站建设宣传好合肥网络推广
  • 企业展示网站源码深圳专门做seo的公司
  • 网站建设趋势福建seo快速排名优化
  • 做网站后台要学什么全国分站seo
  • 商城网站建站系统源码游戏推广员是做什么的
  • 外贸建站应该怎么做百度代理加盟
  • 无锡网站建设运营培训课程安排
  • 自己做的网站怎样链接数据库google seo优化
  • 网站建设书籍在线阅读宁波免费建站seo排名
  • 做网站要不要签合同商品推广
  • 营销型网站建设设计6百度推广后台
  • 淘宝官网首页图片seo是什么岗位的缩写
  • 现在网站还用asp做微信广告朋友圈投放
  • 南京网站房地产关键词排名零芯互联关键词
  • 网站做政务腾讯效果推广
  • 广东做网站策划哪里可以学seo课程
  • 仙桃网站制作建站公司网站源码
  • 做详情页的网站市场营销策略有哪4种
  • 帮人做诈骗网站获利怎么判seo辅助工具
  • 化妆品网站做的好的站长工具seo综合查询权重
  • 杭州网站推广找哪家竞价是什么工作
  • 网站建设经费预算如何让百度收录自己信息