История изменений
Исправление dissident, (текущая версия) :
Вот так:
A(A&& x) noexcept { cout << "move ctor" << endl; }
Выход такой:
Item:
Capacity: 0
ctor
move ctor
Item:
Capacity: 1
ctor
move ctor
move ctor
Item:
Capacity: 2
ctor
move ctor
move ctor
move ctor
Item:
Capacity: 4
ctor
move ctor
А так:
A(A&& x) { cout << "move ctor" << endl; }
Вот такой:
Item:
Capacity: 0
ctor
move ctor
Item:
Capacity: 1
ctor
move ctor
copy ctor
Item:
Capacity: 2
ctor
move ctor
copy ctor
copy ctor
Item:
Capacity: 4
ctor
move ctor
Т.е. вроде как все правильно.
Исходная версия dissident, :
Вот так:
A(A&& x) noexcept { cout << "move ctor" << endl; }
Выход такой:
Item:
Capacity: 0
ctor
move ctor
Item:
Capacity: 1
ctor
move ctor
move ctor
Item:
Capacity: 2
ctor
move ctor
move ctor
move ctor
Item:
Capacity: 4
ctor
move ctor
А так:
A(A&& x) { cout << "move ctor" << endl; }
Вот такой:
[code[ Item: Capacity: 0 ctor move ctor Item: Capacity: 1 ctor move ctor copy ctor Item: Capacity: 2 ctor move ctor copy ctor copy ctor Item: Capacity: 4 ctor move ctor
Т.е. вроде как все правильно.