Dovresti specificare che smart pointer usi e che cosa intendi per "smart pointers annidati".