Aug 29, 2011

[C++0X] details

C++0x feature support in GCC 4.5

  • Move constructors and move assignment operators are never implicitly declared.
  • The implicit declaration of a default constructor is inhibited by any user-declared constructors, including copy constructors and move constructors.
  • The implicit declaration of a copy constructor is inhibited by a user-declared copy constructor, but not a user-declared move constructor.
  • The implicit declaration of a copy assignment operator is inhibited by a user-declared copy assignment operator, but not a user-declared move assignment operator.


    Basically, the automatic generation rules don't interact with move semantics, except that declaring a move constructor, like declaring any constructor, inhibits the implicitly declared default constructor.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.