Post increment and decrement
krzaq via Digitalmars-d
digitalmars-d at puremagic.com
Mon Mar 23 05:34:17 PDT 2015
On Monday, 23 March 2015 at 12:10:32 UTC, Kagamin wrote:
> Well, things like std::string are not cooperative in this
> regard. Though, it's copied only to be instantly destructed,
> theoretically it should be elided if the involved constructors
> are annotated with sufficient purity or complementary operators.
That's why using preincrementation is the preferred default - you
simply can't know predict what the user's type will do. And sure,
maybe the compiler should optimize it away in this case, but as
you can see, the pragmatic solution is to simply avoid this
> Also the iterator pretends to be copyable, but it can't resume
> from the point where it was copied, can it?
Depends on the iterator type, in this case: no, I don't believe
that it can be resumed.
More information about the Digitalmars-d