当前位置:  开发笔记 > 编程语言 > 正文

&&声明的变量

如何解决《&&声明的变量》经验,为你挑选了1个好方法。

考虑到(x | r | l | pr | gl)值,我想到了以下问题:

考虑以下两个变量声明:

X x = ...;

X&& x = ...;

并承担了...提供的x值.

任何人都可以想到代码没有使用decltype,这会产生什么影响?在这两种情况下,(x)都会通过左值型X,不是吗?



1> Jarod42..:

也许人为的例子,但有

struct X
{
    X() = default;
    X(const X&) = delete;
    X operator =(const X&) = delete;
    X(X&&) = delete;
    X operator =(X&&) = delete;
};

X makeX() {return {};}

以下编译

X&& x = makeX();

而后续则没有

X x = makeX();

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有