Smart pointer example