std::unique_ptr<> also has its own move constructor, however both that and your first block above, while equivalent,
are not the same as your second code block. The first block creates only a single int; your second example creates two.
I have two more questions
1: is gcc4.5(mingw) realize the move constructor and move assignment of the stl containers already?
I saw the emplace_backmember function when I enable gcc to follow the C++0x
atleast vector and string have the emplace_backmember function
2: looks like gcc4.5(mingw) do not fully implement the unique_ptr yet, because I cannot sort the
elements of the unique_ptr by the std::sort. Is gcc4.6 fix this problem?
Well, I can't really answer either of your questions because I don't use gcc 4.5 or mingw. However, I can say
that the C++0x standard isn't ratified yet, so any compiler implementation that exists today may change in
the future if more edits are made to the standard before ratification.