C++11中怎么引用限定成员函数

本篇文章为大家展示了C++11中怎么引用限定成员函数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

成都创新互联10多年专注成都高端网站建设按需求定制制作服务,为客户提供专业的成都网站制作,成都网页设计,成都网站设计服务;成都创新互联服务内容包含成都网站建设,微信小程序定制开发,软件开发,网络营销推广,网络运营服务及企业形象设计;成都创新互联拥有众多专业的高端网站制作开发团队,资深的高端网页设计团队及经验丰富的架构师高端网站策划团队;我们始终坚持从客户的角度出发,为客户量身订造网络营销方案,解决网络营销疑问。

曳光弹类

根据需要的不同,代码也会有所不同。

C++11中怎么引用限定成员函数

代码除了实现了,构造函数、析构函数以外,还

  1. 实现了setText和output两个方法用于修改内容和输出内容

  2. 重载了+=运算符和+运算符用于对象连接

参照代码

作为后面内容的铺垫,考虑下面的代码:

C++11中怎么引用限定成员函数

代码中生成了t1,t2连个实例,然后将二者相加并输出。值得注意的是:t1+t2的结果并没有传递给另外的对象而是直接调用output方法,输出结果可以参照下图,主要关注“================“之间的部分。

C++11中怎么引用限定成员函数

首先创建了一个临时对象,输出以后立刻被销毁。这个对象就是一个右值,通过对右值调用对象方法可以的到正确的输出。如果我们的目的就是输出结果的话,没有任何问题。

上面的例子中对一个右值调用了output方法,看起来很自然,但是调用其他的函数就不一定那么自然了。例如下面的代码对t1+t2的结果调用了setText方法:

C++11中怎么引用限定成员函数

输出结果如下:

C++11中怎么引用限定成员函数

虽然setText方法被正常调用,但是这个对象马上被销毁了而无法访问。换句话说这是一段无效代码。相信这也不是程序员的本意。

引用限定符(reference qualifier)

目的很简单,就是希望加一个限制,使得右值对象不能调用setText方法。手段也同样简单,只要在方法签名的后面添加一个“&“,就可以通知编译器,这个函数只对左值(引用)有效。就像下面这样:

C++11中怎么引用限定成员函数

添加了引用限定以后,下面的代码就会产生编译错误。

C++11中怎么引用限定成员函数

上述内容就是C++11中怎么引用限定成员函数,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


本文名称:C++11中怎么引用限定成员函数
网页网址:http://scyanting.com/article/ggeoho.html