this post was submitted on 25 Nov 2023
29 points (96.8% liked)

C++

1718 readers
19 users here now

The center for all discussion and news regarding C++.

Rules

founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] DanielaKEngert@hachyderm.io 1 points 9 months ago (1 children)

@lysdexic @QuadriLiteral Eh, no. Really. Changing the value category disables RVO

[–] lysdexic@programming.dev 1 points 9 months ago (1 children)

RVO

I recommend you read the thread.

[–] DanielaKEngert@hachyderm.io 1 points 9 months ago (1 children)
[–] lysdexic@programming.dev 1 points 9 months ago (1 children)

It doesn't look like it, otherwise you'd be aware that the whole point of this submission is that casting return values with std::move disables RVO.

[–] DanielaKEngert@hachyderm.io 1 points 9 months ago (1 children)

@lysdexic You claimed otherwise:
"
These std::move invocations are harmless, as they only cast objects to their rvalue reference.
"
If you were right, we wouldn't have the motivation to look at this in EWG.

[–] lysdexic@programming.dev 1 points 9 months ago

If you were right, we wouldn’t have the motivation to look at this in EWG.

I am right. Not benefiting from RVO does not mean you're harming anyone.

Again, I recommend you read the submission and also the discussion.