Who invented move semantics?

S

Stefan Ram

Who invented move semantics?

I used to think that everything was invented by BS. But then
I learned that changes came from Lawrence Crawl, Bjarne
Stroustrup, Doug Gregor, Hans-J Boehm, Gabriel Dos Reis,
Alisdair Meredith, Peter Dimov, Francis Glassborow, J Jarvi,
Walter E Brown and many others. Those authors might have
incorporated suggestions which they themselves have gotten
from other persons. So, who came up with move-semantics?
 
A

alf.p.steinbach

Who invented move semantics?



I used to think that everything was invented by BS. But then

I learned that changes came from Lawrence Crawl, Bjarne

Stroustrup, Doug Gregor, Hans-J Boehm, Gabriel Dos Reis,

Alisdair Meredith, Peter Dimov, Francis Glassborow, J Jarvi,

Walter E Brown and many others. Those authors might have

incorporated suggestions which they themselves have gotten

from other persons. So, who came up with move-semantics?

I'm not sure.

Andrei Alexandrescu sort of popularized the concept with his C++03 "Mojo" library, as well as the much heard about but never seen super-efficient STL implementantion (now I don't even recall its name).

I think the groundbreaking argumentation and papers leading to the current form was by David Abrahams, with sometimes co-author Peter Dimov providing crucial corrections -- but that's just impression.


Cheers & hth.,

- Alf
(sorry about mailing this answer first, I hit The Wrong Button)
(also sorry about Google Groups' sabotage of the quoting etc.)
 
S

sg

Am 18.11.2013 13:27, schrieb Stefan Ram:
Who invented move semantics?

I used to think that everything was invented by BS. But then
I learned that changes came from Lawrence Crawl, Bjarne
Stroustrup, Doug Gregor, Hans-J Boehm, Gabriel Dos Reis,
Alisdair Meredith, Peter Dimov, Francis Glassborow, J Jarvi,
Walter E Brown and many others. Those authors might have
incorporated suggestions which they themselves have gotten
from other persons. So, who came up with move-semantics?

I'm not sure either. IIRC Stroustrup mentioned in his "C++11 Style - A
Touch of Class" talk that he used a kind of "move optimization" with a
hack before it got supported via rvalue references. Though, the hack he
described is really a bad one because it requires an additional flag
inside an object (for marking it expendable), does a runtime dispatch in
the non-const copy ctor (checking the flag) and also breaks down in the
light of copy elision (if a "copy" is elided, the flag might still be
set for the target object).
 
W

W Karas

Who invented move semantics?



I used to think that everything was invented by BS. But then

I learned that changes came from Lawrence Crawl, Bjarne

Stroustrup, Doug Gregor, Hans-J Boehm, Gabriel Dos Reis,

Alisdair Meredith, Peter Dimov, Francis Glassborow, J Jarvi,

Walter E Brown and many others. Those authors might have

incorporated suggestions which they themselves have gotten

from other persons. So, who came up with move-semantics?

I can't get over thinking there has to be some simpler way. Like maybe a destructor-copy-constructor:

A::A~(A &dying_a);

That would be used instead of the general copy constructor if the copy source was a temporary, to be discarded after the call.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,007
Latest member
obedient dusk

Latest Threads

Top