решил проверить оверхеднутость shared_ptr, и набросал минимальный тестик
https://godbolt.org/z/dzEv1r6s1
там в функции test менейте #ifdef с нолика не единичку, переключая варианты.
с ручным управлением получаем (нолик в ifdef) - 9 строк асма всего.
с прогрессивно автоматическим получаем (1 в ifdef) - число строк не поддается подсчету.
в того кто скажет, что там должен быть unique_ptr, бросьте камень.
это просто тест. сначала я написал тестик с передачей shared_ptr, в другой обьект(эмулируя «владение»), и использование оттуда, но код получился такой страшный, что я это выкинул, посмотреть эффект от минимального кода со shared_ptr.
живите теперь с этим.
к дорогим растафанам будет просьба - напишите это же на русте, чисто сравнить кодик и оверхеды.