Lifetime of rvalue reference

后端 未结 1 802
南方客
南方客 2020-12-17 23:56

I think I have a problem with understanding rvalue references. What is really the lifetime and usage of such construction.

int&& value = 5;


        
相关标签:
1条回答
  • 2020-12-18 00:28

    Does assigning that to rvalue reference somehow prolong lifetime?

    Yes. Rvalue references can be used to extend the lifetimes of temporary objects (note, lvalue references to const can extend the lifetimes of temporary objects too, but they are not modifiable through them). Thus:

    // both will extend the lifetime of the temporary
    int&& value = 5;      // modifiable
    const int& value = 5; // non-modifiable
    

    If yes, what is the new lifetime of object?

    The lifetime of the temporary is extended to match the lifetime of the reference. See lifetime of a temporary.

    0 讨论(0)
提交回复
热议问题