C++ 中前缀和后缀的返回值
为什么在 C++ 中前缀返回引用而后缀返回值?
Why in C++ the prefix return a reference but the postfix return a value?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
为什么在 C++ 中前缀返回引用而后缀返回值?
Why in C++ the prefix return a reference but the postfix return a value?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
因为使用前缀,您修改对象然后返回它(因此它可以是左值),而使用后缀,您返回未更改的对象(即副本),然后才更新它(这当然是完成的)首先将副本存储在临时对象中,更新原始对象,然后按值返回临时对象。)
Because with prefix you modify the object and then return it (so it can be lvalue), and with postfix you return the unchanged object (i.e. a copy) and only then update it (this is of course done by first storing the copy in a temporary, updating the original object, and then returning the temporary by value.)