Skip to content

Instantly share code, notes, and snippets.

@kalman5
Created March 9, 2014 21:58
Show Gist options
  • Select an option

  • Save kalman5/9455397 to your computer and use it in GitHub Desktop.

Select an option

Save kalman5/9455397 to your computer and use it in GitHub Desktop.
Avoid the Copy
class JumboFactory {
...
Jumbo getJumboByCopy() const & {
//Deep copy
return theJumboObject;
}
Jumbo getJumboByCopy() && { // *this is an r-value
//Move
return std::move(theJumboObject);
}
...
private:
Jumbo theJumboObject;
};
JumboFactory myJF;
Jumbo myJumboA = myJF.getJumboByCopy(); // Deep copy
Jumbo myJumboB = JumboFactory().getJumboByCopy(); // Move
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment