@jacobsa: я запутался из-за этой ссылки Годболта. Кажется, что версия unique_ptr не удаляет память, которой владеет уникальный ptr.

олагая, что x86-64 ABI в Linux, при каких условиях в C ++ структуры передаются функциям в регистрах по сравнению со стеком? При каких условиях они возвращаются в реестры? И меняется ли ответ для классов?

Если это помогает упростить ответ, вы можете принять один аргумент / возвращаемое значение и не использовать значения с плавающей запятой.

Ответы на вопрос(2)

Ваш ответ на вопрос