Pergunta

Eu recentemente tomou em um pequeno aplicativo MCF C ++, que é, obviamente, em um estado de trabalho. Para começar eu estou correndo PC-Lint sobre o código, e fiapos está reclamando que de CStringT estão sendo passados ??para o formato. Parecer sobre a internet parece estar dividida. Alguns dizem que CSting é projetado para lidar com este caso de uso sem erro, mas outros (e um artigo MSDN) dizer que deve sempre ser fundido ao passado para uma função de argumentos variável. Can Stackoverflow chegar a qualquer consenso sobre a questão?

Foi útil?

Solução

CString foi cuidadosamente projetado para ser passado como parte de uma lista de argumentos variável, por isso é seguro para usá-lo dessa forma. E você pode ter certeza que a Microsoft vai tomar cuidado para não quebrar este comportamento particular. Então eu diria que você está seguro para continuar a usá-lo dessa forma, se você quiser.

Dito isto, pessoalmente, eu prefiro o elenco. Ele não é um comportamento comum que as aulas de cordas se comportar dessa maneira (por exemplo, std :: string não) e para a consistência mental, pode ser melhor para fazê-lo apenas a maneira "segura".

PS: Veja esta fio para os detalhes de implementação e outras notas sobre a forma de elenco.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top