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

免费新建网站网络媒体软文案例

免费新建网站,网络媒体软文案例,南昌网站seo 优帮云,flash可以用来制作网页吗1.什么叫左值引用,什么叫右值引用? 右值引用是C11引入的,与之对应C98中的引用统称为左引用。左引用的一个最大问题就是,它不能对不能取地址的量(比如字面量常量)取引用。比如int &a 1;就不可以。 为…

 1.什么叫左值引用,什么叫右值引用?

右值引用是C++11引入的,与之对应C++98中的引用统称为左引用。左引用的一个最大问题就是,它不能对不能取地址的量(比如字面量常量)取引用。比如int &a = 1;就不可以。

为此专门定义了左值和右值,能取地址的都是左值,反之是右值。通过右值引用,可以增长变量的生命周期,避免分配新的内存空间.

并用&&来表示右值引用,这样就可以int &&a = 1;并用&来表示左值引用。

总结:左值引用只能绑定左值;右值引用只能绑右值,但常量左值引用可以绑字面量,比如const int &b = 10;已命名的右值引用,编译器会认为是一个左值;临时对象是左值。

引申问题:i ++和++i 有什么区别?(它返回值哪个是左值,哪个是右值)

i++是左值,并且可以赋值,i++是先返回i再去+1,是右值。而++i是先加再返回,返回的是增加过的,是可以左值

2.什么是将亡值,什么是纯右值

所谓纯右值就是临时变量或者字面值,将亡值是C++11新定义的将要被“移动”的变量,比如move返回的变量。

3.移动语义与完美转发

移动语义(move semantic):某对象持有的资源或内容转移给另一个对象。为了保证移动语义, 必须记得用std::move 转化左值对象为右值,以避免调用复制构造函数. 

完美转发(perfect forwarding): 为了解决引用折叠问题,必须写一个任意参数的函数模板,并转发到其他函数. 为了保证完美转发,必须使用std::forward, 我们希望左值转发之后还是左值,右值转发后还是右值.

4.什么是引用折叠?forward函数的原理

引用折叠就是,如果间接创建一个引用的引用,那么这些引用就会折叠。规则:

&& + &&->&& : 右值的右值引用是右值
&& + &->& : 右值的左值引用是左值
& + &&->& : 左值的右值引用是左值
& + &->& : 左值的左值引用是左值

为此引入了forward函数:

// 精简了标准库的代码,在细节上可能不完全正确,但是足以让我们了解转发函数 forward 的了
template<typename T>
T&& forward(T &param){return static_cast<T&&>(param);
}

传入 forward 实参是右值类型: 根据以上的分析,可以知道T将被推导为值类型,也就是不带有引用属性,假设为 int 。那么,将T = int 带入forward。param在forward内被强制类型转换为 int &&,还是右值引用。最终保持了实参的右值属性,转发正确

传入 forward实参是左值类型:根据以上的分析,可以知道T将被推导为左值引用类型,假设为int&。那么,将T = int& 带入forward。引用折叠一下就是 int &类型,转发正确。

5.什么是移动构造和移动赋值?

移动构造函数能直接使用临时对象已经申请的资源,它以右值引用为参数 ,拷贝以左值。

由于临时对象是右值,这里就需要使用一个move函数,它的作用的将左值强制转换为右值。

移动赋值是在赋值运算符重载的基础上,将对象右值引用作为形参进行拷贝或者赋值,从而避免创建新对象。

下面的例子展示了拷贝构造函数、赋值运算符重载、移动拷贝和移动赋值运算符重载,请仔细区别

class A{public://拷贝构造函数A(A& a) : x(a.x){cout << "Copy Constructor" << endl;}//赋值运算符A& operator=(A& a){x = a.x;cout << "Copy Assignment operator" << endl;return *this;}//移动拷贝A(A&& a) : x(a.x){cout << "Move Constructor" << endl;}//移动赋值A& operator=(A&& a){x = a.x;cout << "Move Assignment operator" << endl;return *this;}private:int x;
}
http://www.dtcms.com/wzjs/307415.html

相关文章:

  • 微信商城源码seo算法是什么
  • 成立公司的可行性报告厦门seo网络优化公司
  • 做厂家批发的网站广州市疫情最新
  • 百度做网站为什么上阿里云备案手机自己怎么建电影网站
  • 美工做任务网站上海站群优化
  • 福州市网站建设有限公司免费推广网站入口
  • 在线教育网站建设公司百度推广一年要多少钱
  • 网站建设方案策划seo网站查询
  • 北京网站建设公司动感seo新闻
  • 哪些网站可以做代理清理优化大师
  • 新塘网站设计中国世界排名
  • 北京微信网站建设公司互联网营销师报名入口
  • 网站数据库怎么做seo投放营销
  • 中企动力做的保安服务网站抖音seo怎么做的
  • java开发网站用什么框架百度推广入口官网
  • 个人网页设计与实现的题目来源攀枝花网站seo
  • 做网络销售都做什么网站视频剪辑培训班
  • 网站建设与维护实训ppt外贸seo软件
  • 政府信息网站如何建设深圳专门做seo的公司
  • 插件开发wordpressseo外包公司专家
  • 郴州网站制作公司电话哪个模板建站好
  • 网站开发维护协议yy直播
  • 网站开发建设合同抚州seo外包
  • 网站建设优化服务资讯百度关键词规划师
  • 对营销网站建设评估及分析广州seo网络培训课程
  • 个人网站的服务器环境安装山东大学经济研究院
  • wordpress自动分享插件下载地址优化网站有哪些方法
  • 17zwd一起做网店潮汕站app营销推广方案
  • 设计公司网站首页显示网络营销学什么内容
  • 旅游攻略那个网站做的好查询网138网站域名