Const引用临时对象 - 为什么? [英] Const reference to a temporary object - Why?

查看:78
本文介绍了Const引用临时对象 - 为什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,


虽然以下定义是合法的:


const int& i = 5;


....并且我所引用的临时变量的生命周期是

与我自己相同,为什么有人想要这样做而不是简单的


const int i = 5;


....?


我可以看到如何将const引用绑定到临时对象

(例如将rvalue传递给期望const引用的函数时),

但上面的用法让我感到困惑。


-dr

Hi all,

Although the following definition is legal:

const int& i = 5;

....and that the lifetime of the temporary variable to which i refers is
identical to i itself, why would anyone want to do this instead of a simple

const int i = 5;

....?

I can see how binding a const reference to a temporary object is necessary
(such as when passing an rvalue to a function expecting a const reference),
but the above usage perplexes me.

-dr

推荐答案

Dave Rahardja写道:
Dave Rahardja wrote:
虽然以下定义是合法的:

const int& i = 5;

...我所指的临时变量的生命周期与我自己相同,为什么有人想要这样做而不是
一个简单的

const int i = 5;

......?


你应该问那些做过/做过的人。

我可以看到如何将const引用绑定到临时对象是必要的(例如当将右值传递给期望
const引用的函数时,但上面的用法让我感到困惑。
Although the following definition is legal:

const int& i = 5;

...and that the lifetime of the temporary variable to which i refers
is identical to i itself, why would anyone want to do this instead of
a simple

const int i = 5;

...?
You should ask somebody who did/does that.
I can see how binding a const reference to a temporary object is
necessary (such as when passing an rvalue to a function expecting a
const reference), but the above usage perplexes me.




该代码本身没有任何困惑。在生产代码库中,它会非常困惑。在生产代码中我从未见过




V



There is nothing perplexing in that code by itself. It _would_ be
seriously perplexing in a production codebase. I have never seen
anything like that in production code.

V


>我在生产代码中从未见过这样的东西。
> I have never seen anything like that in production code.
V




戴夫 -


听听Victor,我在生产中都没有看过这个,而不是
Victor'的代码。我知道维克多已经有一段时间了(Vitya就是这样吗?b $ 25美元或者30年总共是我们相识的时间和

最好的朋友?)。



Dave -

Do listen to Victor, I neither had seen this in production not
Victor''s code. And I know Victor for quite some time now (Vitya is it
25 or 30 years in total is the duration of our acquaintance and
bestfriendship?).


> Dave -
> Dave -

请听听Victor,我没有在制作中看过这个而不是Victor的代码。我知道维克多已经有一段时间了(Vitya是不是总共25或30年是我们熟人的时间和最好的朋友?)。

Do listen to Victor, I neither had seen this in production not
Victor''s code. And I know Victor for quite some time now (Vitya is it
25 or 30 years in total is the duration of our acquaintance and
bestfriendship?).




这是很好的建议。如果任何具有c ++专业知识水平的人在IRC,MIME和POP3协议方面有经验,我很乐意接受工作

申请在美国的职位。申请人必须具备管理程序员团队的技能。



That is great advice. If anyone with your level of expertise in c++ has
experience in IRC, MIME and POP3 protocols I am happy to accept Job
Application for position in the US. Applicants must have skills of a
management of a team of the programmers.


这篇关于Const引用临时对象 - 为什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆