On 28 January 2013 17:13, Graziano Servizi wrote: > > However specifying "noexcept" turns out to be necessary at least for the > default constructor, otherwise no "move" operation is performed (on my > system). Saying this I refer to the code I sent you in my early message. > May be this is due to the instantiation of "v" in the first line of main? > Did you ever meet such a situation before? No, I don't see how it's possible. The code in your first message has no default constructor, so I don't understand how making a non-existent constructor noexcept can change anything! In the file "my_output.txt" you showed move operations like this one: In MemoryBlock(MemoryBlock&&). length = 25. Moving resource. If I run that code I get the same output, three moves, three copies. If I add 'noexcept' to the move constructor and move assignment operator then I get six moves and no copies.