LINUX.ORG.RU

История изменений

Исправление KennyMinigun, (текущая версия) :

Не вижу тут UB.

Ок, код выше может работать не так, как планировалось. Т.е. в check попадет константая ссылка* на обьект std::vector<int> в «valid but unspecified state».

Эвалуация аргументов функции при вызове (комментарий)

Т.е. результат move() всё равно в итоге будет использован при инициализации, которая может происходить в любом порядке, в том числе и в «плохом».

* была опечатка в примере, исправил.

Исправление KennyMinigun, :

Не вижу тут UB.

Ок, код выше может работать не так, как планировалось. Т.е. в check попадет константая ссылка на обьект std::vector<int> в «valid but unspecified state».

Эвалуация аргументов функции при вызове (комментарий)

Т.е. результат move() всё равно в итоге будет использован при инициализации, которая может происходить в любом порядке, в том числе и в «плохом».

Исходная версия KennyMinigun, :

Не вижу тут UB.

Ок, код выше может работать не так, как планировалось. Т.е. в check попадет константая(!) ссылка на обьект std::vector<int> в «valid but unspecified state».

Эвалуация аргументов функции при вызове (комментарий)

Т.е. результат move() всё равно в итоге будет использован при инициализации, которая может происходить в любом порядке, в том числе и в «плохом».