It will be moved, not copied.
I would suggest looking at the following image:

This clearly shows that the compiler implicitly generates a move constructor if the user does not define his / her own:
- destructor
- copy constructor
- copy assignment
- move destination
Since your class does not have any of these user-defined constructors, the constructor generated by the compiler will be called, this constructor will be moved by mData .
source share