相关疑难解决方法(0)

什么意思"xvalue有身份"?

C++ 11引入了新的值类别,其中之一就是xvalue.

它被Stroustrup 解释为(im类别):"它是一个值,它具有身份,但可以从"移动".

另一个来源, cppreference解释说:

glvalue是一个表达式,其评估决定了对象,位域或函数的身份;

并且xvalue是一个glvalue,所以这个陈述也是如此xvalue.

现在,我认为如果有一个xvalue身份,那么我可以检查两个xvalues是否引用同一个对象,所以我取一个地址xvalue.事实证明,不允许:

int main() {
    int a;
    int *b = &std::move(a); // NOT ALLOWED
}
Run Code Online (Sandbox Code Playgroud)

xvalue具有身份意味着什么?

c++ move-semantics xvalue c++11

7
推荐指数
1
解决办法
382
查看次数

标签 统计

c++ ×1

c++11 ×1

move-semantics ×1

xvalue ×1