LINUX.ORG.RU

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

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

Это лишь показывает, что массивы не надо копировать.

Нет, это показывает, что ничего копировать не нужно, потому что в общем случае копирование не устраняется компилятором.

Но достаточно переписать так и никаких копий

Нет, это чушь: ты не можешь знать, где копирование было устранено, а где нет, не посмотрев дизассемблированный код – который ты смотреть не будешь, пока не появится необходимость.

Кстати, удачи получить «не ЮБ» при работе с нетривиально копируемыми типами.

Но у тебя ЮБ, а у меня - нет.

Но меня это не волнует, потому что это работает и будет работать. Если будет волновать – есть -fno-strict-aliasing, std::launder и другие способы решить проблему.

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

Это лишь показывает, что массивы не надо копировать.

Нет, это показывает, что ничего копировать не нужно, потому что в общем случае копирование не устраняется компилятором.

Но достаточно переписать так и никаких копий

Нет, это чушь: ты не можешь знать, где копирование было устранено, а где нет, не посмотрев дизассемблер – который ты смотреть не будешь, пока не появится необходимость.

Кстати, удачи получить «не ЮБ» при работе с нетривиально копируемыми типами.

Но у тебя ЮБ, а у меня - нет.

Но меня это не волнует, потому что это работает и будет работать. Если будет волновать – есть -fno-strict-aliasing, std::launder и другие способы решить проблему.