Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Não atribua um ponteiro bruto a um
owner<T>(r.3)
Esse aviso impõe o R.3 das Diretrizes Principais do C++. Para obter mais informações, confira Diretrizes Principais do C++ R.3.
Comentários
Os proprietários são inicializados de alocações ou de outros proprietários. Esse aviso ocorre quando você atribui um valor de um ponteiro bruto a um ponteiro do proprietário. Ponteiros brutos não garantem a transferência de propriedade; O proprietário original ainda pode manter o recurso e tentar liberá-lo. Não há problema em atribuir um valor de um proprietário a um ponteiro bruto. Ponteiros brutos são clientes válidos para acessar recursos, mas não para gerenciá-los.
Nome da análise de código: DONT_ASSIGN_RAW_TO_OWNER
Exemplo
Usando o endereço do objeto:
Este exemplo tenta atribuir a propriedade do endereço do defaultSocketpara o ponteiro de proprietário socket:
gsl::owner<Socket*> socket = defaultSocket ? &defaultSocket : new Socket(); // C26406