Acabei de compilar parte do meu próprio código com a -std=c++0xbandeira no GCC, pois quero acompanhar vagamente o que todos os jovens estão fazendo (desde que permaneçam no meu gramado) e acabei recebendo uma série de avisos sobre auto_ptrser preterido. Claro, eu sabia que isso auto_ptrfoi preterido em C ++ 0x, mas ...
A depreciação não é uma perda de tempo e esforço? Motivos para não descontinuar (com auto_ptr como exemplo):
existe um oceano de código por aí que ainda precisa ser suportado, produzir milhões de avisos apenas tentará as pessoas a desativar os avisos.
auto_ptré um pouco tolo, mas na verdade faz o que diz na lata.se realmente queremos depreciar as coisas, eu nomeio
printf(). Mas imagine os gritos que se seguiriam.auto_ptrnão tem muitos amigos, mas pelo menos no meu código C ++ é usado mais do queprintf, o que não é usado.o comitê tem um péssimo histórico de acertar isso - eles preteriram a estática no escopo do espaço para nome e agora parece ter sido reprovado - eu não ficaria surpreso se
auto_ptrfizesse um retorno semelhantepor fim, o que quer que o comitê diga, os implementadores do compilador os ignoram - eles simplesmente não podem arriscar violar o código de seus clientes, tudo o que podem fazer é emitir avisos irritantes.
Então, minha pergunta - você considera a depreciação (de qualquer coisa, não apenas auto_ptrs e não apenas em C ++) uma boa idéia, e se sim, por quê?
unique_ptre seja mais feliz.
auto_ptrcomo exemplo.