You've been logged out of GDC Vault since the maximum users allowed for this account has been reached. To access Members Only content on GDC Vault, please log out of GDC Vault from the computer which last accessed this account.

Click here to find out about GDC Vault Membership options for more users.


Session Name:

Faster C++: Move Construction and Perfect Forwarding


For performance engineers, the most exciting new features of the C++11 Standard are move construction and perfect forwarding. Anybody who has analyzed C++ performance issues knows that the most inefficient aspect of C++ is object copying. Games often get bogged down copying objects inside frame loops. Rvalue references, a new C++ language feature, enable move semantics and perfect forwarding, completely eliminating unnecessary copies. The problem associated with the creation and destruction of temporary C++ objects goes away. The result: major performance improvements in common code. Simply recompiling with C++11 gives an automatic performance boost, but the true power comes when you add move constructors and move assignment operators to your own classes. This talk shows how to branch at compile time based on the condition that an object is moveable or not, with background on how rvalues really work, along with recommended idioms and best practices.

Did you know free users get access to 30% of content from the last 2 years?

Get your team full access to the most up to date GDC content

  • GDC 2012
  • Pete Isensee
  • Microsoft
  • free content
  • Programming
  • Programming