История изменений
Исправление fsb4000, (текущая версия) :
Потому что sizeof(B) > sizeof(A). При возврате значение обрубается.
Нет, конечно же. Там всё норм. (ну всмысле деструктор не виртуальный и т.д., но с возвратом там всё норм)
При возврате вызывается copy constructor.
сравни:
https://gcc.godbolt.org/z/1TsWGxbxM
и
https://gcc.godbolt.org/z/PqqE6K47q
Если ты этого не хочешь, то конструктор копирования/перемещения всегда можно запретить. Но компилятор не может тут ничего сделать, потому что иногда это именно то что ты хочешь…
Исправление fsb4000, :
Потому что sizeof(B) > sizeof(A). При возврате значение обрубается.
Нет, конечно же. Там всё норм. (ну всмысле деструктор не виртуальный и т.д., но с возвратом там всё норм)
При возврате вызывается copy constructor.
сравни:
https://gcc.godbolt.org/z/1TsWGxbxM
и
Исходная версия fsb4000, :
Потому что sizeof(B) > sizeof(A). При возврате значение обрубается.
Нет, конечно же. Там всё норм.
При возврате вызывается copy constructor.
сравни:
https://gcc.godbolt.org/z/1TsWGxbxM
и