On Tuesday, 24 January 2017 at 11:46:47 UTC, Jonathan M Davis wrote:
On Monday, January 23, 2017 22:26:58 bitwise via Digitalmars-d-learn wrote:
[...]

Moving structs is fine. The postblit constructor is for when they're copied. A copy is unnecessary if the original isn't around anymore - e.g. passing an rvalue to a function can move the value; it doesn't need to copy it. Even passing an lvalue doesn't need to result in a copy if the lvalue is not referenced at any point after that function call. However, if you're going to end up with two distinct copies, then they need to actually be copies, and a postblit constructor will be called.

[...]

Awesome, thanks - this makes sense.

Reply via email to