История изменений
Исправление victor79, (текущая версия) :
std: move не используется, когда ctr/= не сделаны noexcept
Что за ctr/= не понятно, но в программе ислючений не происходит. Все работает корректно, только дольше чем ожидалось. И я долго разбирался, что такого поменялось, что вдруг в данном случае работает дольше ожидаемого. А тот packed был глубоко закопан из древних времен, я про него и не помнил уже.
Я думаю vector поведет себя так же. В MyList используется принцип упомянутый здесь: Будет ли корректно не дестроить объект в случае перемещений в массиве?
Т.е. упрощенно:
using T = pair<Token,Data>;
T a{...};
T b = std::move(a); // здесь выполнит копирование, а не перемещение
Исходная версия victor79, :
std: move не используется, когда ctr/= не сделаны noexcept
Что за ctr/= не понятно, но в программе ислючений не происходит. Все работает корректно, только дольше чем ожидалось. И я долго разбирался, что такого поменялось, что вдруг в данном случае работает дольше ожидаемого. А тот packed был глубоко закопан из древних времен, я про него и не помнил уже.
Я думаю vector поведет себя так же. В MyList используется принцип упомянутый здесь: Будет ли корректно не дестроить объект в случае перемещений в массиве?