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


本篇文章为大家展示了C++11中怎么引用限定成员函数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。曳光弹类根据需要的不同,代码也会有所不同。
代码除了实现了,构造函数、析构函数以外,还实现了setText和output两个方法用于修改内容和输出内容重载了+=运算符和+运算符用于对象连接
参照代码作为后面内容的铺垫,考虑下面的代码:代码中生成了t1,t2连个实例,然后将二者相加并输出。值得注意的是:t1+t2的结果并没有 香港云主机传递给另外的对象而是直接调用output方法,输出结果可以参照下图,主要关注“================“之间的部分。首先创建了一个临时对象,输出以后立刻被销毁。这个对象就是一个右值,通过对右值调用对象方法可以的到正确的输出。如果我们的目的就是输出结果的话,没有任何问题。上面的例子中对一个右值调用了output方法,看起来很自然,但是调用其他的函数就不一定那么自然了。例如下面的代码对t1+t2的结果调用了setText方法:
输出结果如下:虽然setText方法被正常调用,但是这个对象马上被销毁了而无法访问。换句话说这是一段无效代码。相信这也不是程序员的本意。引用限定符(reference qualifier)目的很简单,就是希望加一个限制,使得右值对象不能调用setText方法。手段也同样简单,只要在方法签名的后面添加一个“&“,就可以通知编译器,这个函数只对左值(引用)有效。就像下面这样:添加了引用限定以后,下面的代码就会产生编译错误。上述内容就是C++11中怎么引用限定成员函数,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注开发云行业资讯频道。

相关推荐: django中order_by会影响values_list和distinct组合的查询结果吗

这篇文章主要介绍“django中order_by会影响values_list和distinct组合的查询结果吗”,在日常操作中,相信很多人在django中order_by会影响values_list和distinct组合的查询结果吗问题上存在疑惑,小编查阅了各…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 07/31 16:19
下一篇 07/31 16:20

相关推荐