Aviso C26405
Não atribuir a um
owner<T>
que pode estar em estado válido (r.3)
Comentários
Se um ponteiro de proprietário já apontar para um buffer de memória válido, ele não deverá ser atribuído a outro valor sem primeiro liberar o recurso atual. Essa atribuição pode levar a um vazamento de recursos, mesmo que o endereço do recurso seja copiado em algum ponteiro bruto (porque os ponteiros brutos não devem liberar recursos). Para obter mais informações, confira as Diretrizes Principais do C++.
Nome da análise de código: DONT_ASSIGN_TO_VALID
Exemplo 1
Substituindo um proprietário em um loop:
gsl::owner<Shape*> shape = nullptr;
while (shape = NextShape()) // C26405
Process(shape) ? delete shape : 0;
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de